管理等控件的列表:
var tagNames = new List<YourControl>() {
tagNameBoxAMT1, tagNameBoxAMT2, tagNameBoxAMT3, tagNameBoxAMT4, tagNameBoxAMT5, tagNameBoxAMT6
};
,然後就可以適當地使用它:
for(int i = 0; i < 6; i++)
{
string tagNamei = tagNames[i].Text;
}
如果tagNameBoxAMT1
和其他人字段/屬性,你可以使用反射做它自動,但它不是建議。
如果你想一起去思考的方法,這裏是示例代碼:
class SomeWindow
{
private SomeControl tagNameBoxAMT1;
private SomeControl tagNameBoxAMT2;
private SomeControl tagNameBoxAMT3;
public SomeWindow()
{
tagNameBoxAMT1 = new SomeControl() { Text = "Text1" };
tagNameBoxAMT2 = new SomeControl() { Text = "Text2" };
tagNameBoxAMT3 = new SomeControl() { Text = "Text3" };
}
public void GiveMeWithReflection()
{
var thisType = typeof(SomeWindow);
var controlType = typeof(SomeControl);
var textProperty = controlType.GetProperty("Text");
var props = thisType.GetFields(System.Reflection.BindingFlags.Instance |
System.Reflection.BindingFlags.NonPublic)
.Where(fi => fi.Name.StartsWith("tagNameBoxAMT"));
foreach (var prop in props)
{
var control = prop.GetValue(this);
var tagName = textProperty.GetValue(control);
}
}
}
您應該將變量添加到列表(數組,列表,集合)中,然後在'loop'中訪問列表中的每個位置。 – Tom