Назначение свойств с одинаковыми именами - PullRequest
0 голосов
/ 13 декабря 2010

Это незначительно связано с C #: как мне назначить много переменных с целым числом (i) в цикле for? .

По сути, у меня есть объект со свойствами Category1Results, Category2Results, Category3Results ... и т. Д. До Category60Results.Есть также около 15 других свойств.Они сопоставляются с таблицей базы данных.

Есть ли разумный способ их назначения?

Цикл кажется полезным, когда (например) свойство с именем Entity.Category+ i + Результат назначен, но я не уверен, как этого добиться.

Любой совет?

1 Ответ

0 голосов
/ 13 декабря 2010

Вы можете сделать это с отражением. Взгляните на этот пост, в котором Джон Скит предлагает решение для назначения свойств объектов.

for(int i = 1; i <= 60; i++)
{
   SetProperty(entity, "Category"+i+"Result", valueYouWantToAssign)
}

Здесь - еще один пример, который просматривает свойства объекта.

PropertyInfo[] properties = typeof(MyClass).GetProperties();
foreach(PropertyInfo property in properties)
{
    property.SetValue(instanceOfMyClass, attribute.DataValue, null);
}
...