繁体   English   中英

C#动态更改对象的属性

[英]C# change property of an object dynamically

有没有办法像这样在C#中更改对象的属性。

int Number = 1;

label [Number] .Text =“测试”;

结果将label1.Text更改为“ Test”;

希望你明白我的意思。

您可以将所有标签放入数组中:

var labels = new[] { label1, label2, label3, label4 };

然后使用数组索引器:

int number = 0;
labels[number].Text = "Test";

将标签添加到列表

List<Label> list = new List<Label>()
list.Add(label1);
list.Add(label2);

list[0].Text = "Text for label 1";
list[1].Text = "Text for label 2";

反思是另一种方式,但很可能不是您的意思。

也许字典(或相关数组)可以为您提供帮助。 其中key是整数和值-标签:

var dictionary = new Dictionary<int, Label>();
dictionary[2] = label1;
dictionary[7] = label2;
dictionary[12] = label2;

int number = 2;
dictionary[number].Text = "Test";

试试FindControl:

Label lbl = (Label) FindControl("label" + yourVariableHere);
lbl.Text = "Test";

http://msdn.microsoft.com/zh-CN/library/486wc64h.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM