0

我有 10 个标签和一个具有 10 个属性的对象。我想要一个循环,在第一个标签上放置对象的第一个属性,在第二个标签上放置对象的第二个属性,依此类推..

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

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

1 回答 1

3

你可以通过这样的反射来实现这一点:

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

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

于 2013-08-06T08:43:29.500 回答