C# 有并没有一种方法可以通过调用被调用方法中的方法来获取参数的名称?

C# 有并没有一种方法可以通过调用被调用方法中的方法来获取参数的名称?,c#,c#-6.0,nameof,C#,C# 6.0,Nameof,下面的代码打印“参数” 有没有办法获得“myString”?你必须这样做 void PrintNameOf(string argument, string name) { Console.WriteLine($"{name} has value: {argument}"); } string myString = "hello"; PrintNameOf(myString, nameof(myString)); 不,因为在方法中,标识符myString甚至没有eist。但是在方法之外

下面的代码打印“参数”

有没有办法获得“myString”?

你必须这样做

void PrintNameOf(string argument, string name)
{
    Console.WriteLine($"{name} has value: {argument}");
}

string myString = "hello";
PrintNameOf(myString, nameof(myString));

不,因为在方法中,标识符
myString
甚至没有eist。但是在方法之外,您当然可以使用
nameof(mystring)
。在编译的代码中,
mystring
通常甚至不存在于调用站点,更不用说在被调用的方法中了。
void PrintNameOf(string argument, string name)
{
    Console.WriteLine($"{name} has value: {argument}");
}

string myString = "hello";
PrintNameOf(myString, nameof(myString));