Получить значение переменной, названной в строке

Есть ли способ получить значение переменной, которая была названа в строке. Например:

Dim number As Integer = 12

Dim numberCopy As Integer = Convert("number")
' numberCopy will now equal 12
' Convert is the function to convert the string to the variable

2 ответа

Решение

Нечто подобное можно сделать только с помощью Introspection, и только если переменная, содержащая значение, является свойством класса. Ваш пример, где переменная только временно известна внутри функции, не может работать так, как вам нравится.

Чтобы узнать больше об интроспекции, см. Документацию и примеры с тем же именем.

Вы также можете использовать словарь вместо прямых свойств и переменных.

Например

   dim d as new dictionary
   d.value("number") = 12

Затем, когда вам нужно значение, вы можете сделать

   Dim numberCopy As Integer = d.value("number")

Хорошая особенность словаря в том, что ключи и значения являются вариантами, вы можете добавить в него практически все, все типы переменных, а также объекты.

См. Справочник по языку

Другие вопросы по тегам