Jest sobie klasa:
public class ItemInfoBase
{
private string dataColumnName;
private string dataColumnType;
private string myColumnName;
public static readonly ItemInfoBase Id = new ItemInfoBase("Id", "Int32", "Id");
public static readonly ItemInfoBase CreationDate = new ItemInfoBase("CreationDate", "DateTime", "Data utworzenia");
public static readonly ItemInfoBase Name = new ItemInfoBase("Name", "String", "Nazwa");
//itd, okolo 30 pól
private ItemInfoBase(string dataColumnName, string dataColumnType, string myColumnName)
{
this.dataColumnName = dataColumnName;
this.dataColumnType = dataColumnType;
this.myColumnName = myColumnName;
}
public string DataColumnName { get { return dataColumnName; } }
public string DataColumnType { get { return dataColumnType; } }
public string MyColumnName { get { return myColumnName; } }
}
I jest słownik:
public Dictionary<string, ItemInfoBase> ItemInfo = new Dictionary<string, ItemInfoBase>();
Mogę go zapełniać ręcznie w ten sposób
ItemInfo.Add("Id", ItemInfoBase.Id);
ItemInfo.Add("CreationDate", ItemInfoBase.CreationDate);
itd...
ale w jaki sposób utworzyć słownik automatycznie za pomocą for lub foreach
gdzie kluczem będzie string z DataColumnName a wartością klasa statyczna?