使用循环更改属性

时间:2013-08-06 08:35:17

标签: c#

我有10个标签和一个包含10个属性的对象。 我希望有一个循环,在第一个Label上放置对象的第一个属性,在第二个Label上放置第二个属性来自对象,依此类推。

我的问题是用循环更改对象的属性Name,因为它不是字符串...

_Label1.Fill = object .Color1;     
_Label2.Fill = object .Color2;    
_Label3.Fill = object .Color3; 

1 个答案:

答案 0 :(得分:3)

你可以用这样的反射来实现这个目标:

for(int i= 1; i<= 10; i++)
{
     Label[i-1].Fill = (Color)object.GetType().GetProperty("Color" + i.ToString()).GetValue(object, null);
}

我假设您在数组或列表中有标签,并且颜色属性的类型为Color