我有一个清单
List<Control> inputBoxes = new List<Control>();
我添加了组合框和文本框。
我可以使用inputBoxes[0].GetType().GetProperty("Text").SetValue(inputBoxes[0], "ABC", null);
设置text属性
但是如何将项目添加到组合框并选择它们?
我能以某种方式使用inputBoxes[0].GetType().GetMethod()
吗?
答案 0 :(得分:0)
为什么使用反射来简单地设置属性?
您可以使用更有效且不易出错的内容:
inputBoxes.OfType<TextBox>().ElementAt(0).Text = "ABC";
如果要将项目添加到一个(或多个)组合框:
var combos = inputBoxes.OfType<ComboBox>();
foreach(ComboBox combo in combos)
{
// add items here or set their DataDource, for example:
string[] installs = new string[]{"Typical", "Compact", "Custom"};
combo.Items.AddRange(installs);
}
请注意,您需要为using System.Linq
OfType