2017-08-09 87 views
0

以下代碼打印「參數」。有沒有辦法從被調用方法中的調用方法獲取參數的名稱?

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

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

有沒有辦法讓「myString」?

+2

沒有,因爲* *內的方法標識符'myString' doesn't甚至EIST。但是,除了方法之外,你當然可以使用'nameof(mystring)'。 – HimBromBeere

+4

在編譯後的代碼中,mystring通常不存在於調用位置,不用介意被調用的方法。 –

回答

1

你不得不做

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

string myString = "hello"; 
PrintNameOf(myString, nameof(myString)); 
相關問題