2010-12-13 10 views
0

これは、C#: How do i assign many variables with an integer(i) in for loop?と非常に関連しています。同様の名前付きエンティティプロパティへの割り当て

基本的には、Category60ResultsまでCategory1Results、Category2Results、Category3Resultsなどのプロパティを持つエンティティがあります。他にも約15のプロパティがあります。これらはデータベーステーブルにマップされます。

これに賢明な方法がありますか?

ループは、Entity.Category + i + Resultという名前のプロパティが割り当てられている場所など、参考になるかもしれませんが、どのように達成するかはわかりません。

アドバイスはありますか?

答えて

0

これを反映させることができます。 this postを見てください。ここでJon Skeetはオブジェクトプロパティを割り当てるソリューションを提供しています。

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

Hereオブジェクトのプロパティをループ別の例です。

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

ありがとうございました。私は最初の方法で成功しました。私は後者のオプションがよりエレガントだと思っていたでしょうが、私のコードではちょっと変わったことが必要です。今はただちに修正を探しています。再度、感謝します! – Rich

関連する問題