Есть ли способ изменить свойство объекта в C # следующим образом.
int Number = 1;
label [Number] .Text = "Test";
И результат изменит 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";
Отражение - это другой путь, но, скорее всего, это не то, что вы имели в виду.
Попробуйте FindControl:
Label lbl = (Label) FindControl("label" + yourVariableHere); lbl.Text = "Test";
http://msdn.microsoft.com/en-us/library/486wc64h.aspx
Может быть, словарь (или связанный массив) может помочь вам. Где ключ является целым числом и значением - Метка:
var dictionary = new Dictionary<int, Label>(); dictionary[2] = label1; dictionary[7] = label2; dictionary[12] = label2; int number = 2; dictionary[number].Text = "Test";