Получить имя параметра, который передается функции

Possible Duplicate:
get name of a variable or parameter

У меня есть эта функция.

public void AddVariable( String str)
{
    Response.Write(str);//will write the value of str
}

Но мне нужно написать имя строковой переменной, которая передается в функцию.

Например:

String temp = "test Variable";
AddVariable(temp);

Здесь мне нужно получить имя переменной внутри моей функции, а не значение .

т.е. мне нужно получить « temp » внутри моей функции, вместо « test Variable ».

Возможно ли это?

1
nl ja de
@rs, я пробовал этот ответ, но я мог получить только имя переменной как «str», а не тот, который я передал
добавлено автор Akhil Sekharan, источник
@pRosper K, Он возвращает имя параметра, а не имя строки, в которую я прошел. :(
добавлено автор Akhil Sekharan, источник
@AkhilSekharan: см. Этот пост stackoverflow.com/questions/214086/…
добавлено автор ρяσѕρєя K, источник

2 ответы

Вы можете получить имя переменной внутри функции («str»), но вы не можете получить имя переменной, которая была передана в функцию, если вы не передадите ее в качестве второго параметра.

Не имеет смысла получить имя переменной, переданной функции, потому что, возможно, даже не была переменной, если был передан литерал, например AddVariable («тестовая переменная») .

4
добавлено

Вам не нужно имя параметра (возможно, из отражения), а скорее имя переменной, которое было передано как параметр. AFAIK, для всех практических целей, это невозможно для кода внутри функции.

С другой стороны, как можно сделать анализ кода всех сборок, загруженных в домене приложений, и найти все вызовы для вашего метода, а затем выполнить стековую прогулку, чтобы определить возможный вызов, чтобы вы могли пригвоздить переменную имя в вызывающем методе (опять же, если может быть много вызовов в методе вызова, что затрудняет угадывание имени переменной, и тогда вам нужно полагаться на смещение IL и т. д.), но его слишком запутанный.

Возможно, вы можете указать причину таких требований, может быть какая-то альтернатива. Например, вы можете получить и записать трассировку стека в свой код метода, который можно использовать, например, для устранения неполадок.

3
добавлено
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)