我有10个标签和一个包含10个属性的对象。 我希望有一个循环,在第一个Label上放置对象的第一个属性,在第二个Label上放置第二个属性来自对象,依此类推。
我的问题是用循环更改对象的属性Name,因为它不是字符串...
_Label1.Fill = object .Color1;
_Label2.Fill = object .Color2;
_Label3.Fill = object .Color3;
答案 0 :(得分:3)
你可以用这样的反射来实现这个目标:
for(int i= 1; i<= 10; i++)
{
Label[i-1].Fill = (Color)object.GetType().GetProperty("Color" + i.ToString()).GetValue(object, null);
}
我假设您在数组或列表中有标签,并且颜色属性的类型为Color