这与C#: How do i assign many variables with an integer(i) in for loop?非常相关。
基本上,我有一个实体,其属性为Category1Results,Category2Results,Category3Results ...等等,属于Category60Results。还有大约15个其他属性。这些映射到数据库表。
有没有明智的方法来分配这些?
循环似乎可能有用,其中(例如)名称为Entity.Category + i + Result的属性已分配给,但我不确定如何实现该目标。
有什么建议吗?
答案 0 :(得分:0)
你可以用反射做到这一点。看看this帖子,其中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);
}