powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Возможно ли получить имя переменной в виде строки?
25 сообщений из 40, страница 1 из 2
Возможно ли получить имя переменной в виде строки?
    #35237082
Automater
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример:

string peremennaja = "aaa";
string variable_name;

Как получить в переменной variable_name строку "peremennaja", т.е. узнать имя другой переменной?
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35237103
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курите в сторону System.Reflection
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35237116
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак.
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35237261
C#C++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AutomaterПример:

string peremennaja = "aaa";
string variable_name;

Как получить в переменной variable_name строку "peremennaja", т.е. узнать имя другой переменной?

Не так давно был уже в точности такой вопрос.

И самый разумный вариант там был
string variable_name = "peremennaja";
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35237879
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Automater
Как получить в переменной variable_name строку "peremennaja", т.е. узнать имя другой переменной?

Не могу представить даже, откуда может возникнуть такой вопрос... - просвятите, пожалуйста...
Абсолютно непонятно зачем это практически может понадобиться... Может быть Ваша проблема решается подругому?
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35237929
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНикак.


class Program
{
static void Main(string[] args)
{
CExample excemple = new CExample();

System.Reflection.PropertyInfo[] properties =
excemple.GetType().GetProperties();

FieldInfo[] fields = excemple.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance);

foreach (FieldInfo fi in fields)
Console.WriteLine(fi.Name);

Console.ReadLine();
}
}
public class CExample
{
private string privateValue = "private";
protected string protectedValue = "protected";
}
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35237931
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При всем уважении к глубоким знаниям MCY - зачем-жек стол категорично?
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35237939
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL_LamerПри всем уважении к глубоким знаниям MCY - зачем-жек стол категорично?
FieldInfo.Name - Gets the name of the current member
P.S. Разницу члена (методы, поля, делегаты (указаетели на методы), конструкторы, финализаторы и пр.) и разницу переменной , которую можно объявить в члене, понимаете? ;)
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35237949
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ SQL_LamerПри всем уважении к глубоким знаниям MCY - зачем-жек стол категорично?
FieldInfo.Name - Gets the name of the current member
P.S. Разницу члена (методы, поля, делегаты (указаетели на методы), конструкторы, финализаторы и пр.) и разницу переменной , которую можно объявить в члене, понимаете? ;)

В ваших словах сквозит ирония (((
Нет, я вообще ничего не понимаю
О, горе мне...
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35237954
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL_Lamer
Не расстраивайтесь, купите книжку себе лучше ;)
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35237957
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ SQL_Lamer
Не расстраивайтесь, купите книжку себе лучше ;)

Если я прочитаю все те книги, что купил себе за последний год,
то Дональду Кнуту только и останется, что нервно покуривать в стороне
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35237962
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Единственное, что мне приходит в голову, по поводу сабжа, что автору надо вести лог, в котором он хочет показывать и имя переменной, и ее значение. И вместо того, чтобы просто

Код: plaintext
string LogMessage = string.Format("peremennaya = {0}", peremennaya );

он ищет чего-то волшебного.
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35238077
C#C++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL_Lamer МСУНикак.


class Program
{
static void Main(string[] args)
{
CExample excemple = new CExample();

System.Reflection.PropertyInfo[] properties =
excemple.GetType().GetProperties();

FieldInfo[] fields = excemple.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance);

foreach (FieldInfo fi in fields)
Console.WriteLine(fi.Name);

Console.ReadLine();
}
}
public class CExample
{
private string privateValue = "private";
protected string protectedValue = "protected";
}

SQL_Lamer, понимаете, в чем тут штука: поля классов (и их имена в том числе) - это информация, связанная с классом, и отражение может ее добыть из класса (это все хранится в MSIL). А локальная переменная функции ни с чем таким не связана, поэтому ее имя ничем получить не получится (в MSIL ее нет). Вот такая разница.
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35238661
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C#C++ SQL_Lamer МСУНикак.


class Program
{
static void Main(string[] args)
{
CExample excemple = new CExample();

System.Reflection.PropertyInfo[] properties =
excemple.GetType().GetProperties();

FieldInfo[] fields = excemple.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance);

foreach (FieldInfo fi in fields)
Console.WriteLine(fi.Name);

Console.ReadLine();
}
}
public class CExample
{
private string privateValue = "private";
protected string protectedValue = "protected";
}

SQL_Lamer, понимаете, в чем тут штука: поля классов (и их имена в том числе) - это информация, связанная с классом, и отражение может ее добыть из класса (это все хранится в MSIL). А локальная переменная функции ни с чем таким не связана, поэтому ее имя ничем получить не получится (в MSIL ее нет). Вот такая разница.


Что-же вы на меня накинулись с критикой,
понимаю я это, просто выкрутиться-то всегда можно
Об этом речь
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35238667
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL_LamerЧто-же вы на меня накинулись с критикой,
понимаю я это, просто выкрутиться-то всегда можно
Об этом речь
Да Вы что, кто ж на Вас накинулся-то? Наоборот, коллега C#C++ растолковывает Вам, - что это и как оно работает. А выкрутиться всегода можно, тут Вы правы.
P.S. Только стоит ли выкручиваться? Я просто не представляю, для чего такое могло понадобиться топиккастеру..
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35238673
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ SQL_LamerЧто-же вы на меня накинулись с критикой,
понимаю я это, просто выкрутиться-то всегда можно
Об этом речь
Да Вы что, кто ж на Вас накинулся-то? Наоборот, коллега C#C++ растолковывает Вам, - что это и как оно работает. А выкрутиться всегода можно, тут Вы правы.
P.S. Только стоит ли выкручиваться? Я просто не представляю, для чего такое могло понадобиться топиккастеру..

Я, если честно, тоже не представляю, да и сам топиккастер пропал, так что чего-уж... :)
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #35239013
C#C++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL_Lamer МСУ SQL_LamerЧто-же вы на меня накинулись с критикой,
понимаю я это, просто выкрутиться-то всегда можно
Об этом речь
Да Вы что, кто ж на Вас накинулся-то? Наоборот, коллега C#C++ растолковывает Вам, - что это и как оно работает. А выкрутиться всегода можно, тут Вы правы.
P.S. Только стоит ли выкручиваться? Я просто не представляю, для чего такое могло понадобиться топиккастеру..

Я, если честно, тоже не представляю, да и сам топиккастер пропал, так что чего-уж... :)

Топиккастер наверно тоже понял, что ему это незачем )))
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Возможно ли получить имя переменной в виде строки?
    #39487589
LOD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LOD
Гость
AutomaterПример:

string peremennaja = "aaa";
string variable_name;

Как получить в переменной variable_name строку "peremennaja", т.е. узнать имя другой переменной?

Код: plaintext
1.
2.
3.
4.
#define NAME_OF_VAR(VAR) #VAR

string peremennaja = "aaa";
string variable_name = NAME_OF_VAR(peremennaja);



Макрос на этапе компиляции автоматически заменится на "peremennaja". Преимущество использования макроса по сравнению с записью строки "peremennaja" в том, что при изменении имени переменной вы не сможете забыть поменять строку, и компилятор вам сразу же напомнит об этом. Таким образом вы гарантированно получите правильное имя переменной.
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #39487599
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LODМакрос на этапе компиляции ...
В C# нет макросов, ты с С++ перепутал.
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #39487716
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nameof()
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #39487784
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesnameof()

это в c#? в какой версии?
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #39487855
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинRoman Mejtesnameof()

это в c#? в какой версии?

В шестой.
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #39488231
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
Хм, интересно, а что делать с именем переменной. которую csc или jit ликвидируют в ходе оптимизации?
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #39488259
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

Ну ты же не обращаешься к этой переменной по имени.
А свойства, к примеру, оптимизатор не ликвидирует
...
Рейтинг: 0 / 0
Возможно ли получить имя переменной в виде строки?
    #39488406
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВhVostt,
Хм, интересно, а что делать с именем переменной. которую csc или jit ликвидируют в ходе оптимизации?

Если что-то делать, то не ликвидирует. А если не делать, то и вопрос отпадает.
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Возможно ли получить имя переменной в виде строки?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]