как преобразовать строку в переменную, vb6 / c # / c ++? - PullRequest
0 голосов
/ 03 июля 2011

Как я могу преобразовать строку в переменную в C # или C ++?

пример (vb6):

dim a as string
dim b as string

b="halo"
a="b"

msgbox a

это должно сделать вывод = гало

возможно ли это? ..,

спасибо за ответы

Ответы [ 3 ]

5 голосов
/ 03 июля 2011

Edit:

Сначала я неправильно понял ваш ответ, но теперь я вижу (спасибо Gserg), что вы хотите найти переменную, основанную на имени. В C # вы должны сделать это с помощью отражения. Просмотрите следующий фрагмент кода и убедитесь, что вы указали ссылку на System.Reflection.

MyNamespace.MyClass cls = new MyNamespace.MyClass();
FieldInfo fi = cls.GetType().GetField("FieldName");
string value = (string)(fi.GetValue(null, null));
Console.Out.WriteLine(value);

Здесь я ищу поле "FieldName" в этом классе, а затем возвращаю значение поля

См. Также страницу MSDN для GetField http://msdn.microsoft.com/en-us/library/system.type.getfield(v=vs.71).aspx

2 голосов
/ 03 июля 2011

Вы не можете.
Отражение не может вернуть имя локальной переменной, только тип и индекс.

Следовательно, самый простой словарь - это:1007 *

0 голосов
/ 03 июля 2011

В C ++ это невозможно . В C # это может быть возможно из-за рефлексии (но я не уверен, как).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...