Есть ли способ изменить свойство объекта в C#, как это.C# свойство изменения объекта динамически
int Number = 1;
ярлык [Number] .Text = "Test";
И результат изменит label1.Text на «Test»;
Надеюсь, вы понимаете, что я имею в виду.
Есть ли способ изменить свойство объекта в C#, как это.C# свойство изменения объекта динамически
int Number = 1;
ярлык [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";
Reflection является другой но, скорее всего, это не то, что вы имели в виду.
Может быть, словарь (или связанный массив) может вам помочь. Если ключ целое число и значение - Метка:
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";
Помните, что в C# массивы индексируются от 0 –