Я использую формы Windows для представления некоторых параметров (например, температуры), поступающих с внешнего устройства. Я хотел бы представить эти данные в метках оконных форм и хотел бы сделать это следующим образом:
1) создать ярлык с именем в соответствии с регистром данных;
2) При чтении данных создайте строку, содержащую ссылку на объект метки в виде строки;
3) Сделайте ссылку на объект из строки и вызовите метод text (), чтобы обновить данные, хранящиеся в метке.
Пример кода, как я пытался это сделать:
// Here I create a label that is referenced by L0x7241
private System.Windows.Forms.Label L0x7241;
private void UpdateLabels(byte[] data)
{
// Convert bytes to register name
var reg = new byte[2];
reg[0] = data[1];
reg[1] = data[0];
// Here I construct a string, that contains the same text: L0x7241
string associatedWidget = "L0x" + BitConverter.ToString(reg).Replace("-", "");
// Here I would like to change text of the label
// that has the reference that i have just constructed
associatedWidget.Text("1111");
}
Я понимаю, что строка, содержащая тот же текст, что и ссылка на объект, не является самой ссылкой, поэтому я ищу способ преобразовать строку в ссылку, если это вообще возможно.
Теперь я понимаю, что могу сделать то же самое, связав каждую метку с переменной и обновив их при изменении переменной. Тем не менее, я думаю, что вышеупомянутый способ сделает программу значительно меньше ...