1
식에 사용 된 변수의 이름을 추출하는 식을 만드는 방법에 대한 몇 가지 예제를 보았습니다. 그게 좋겠지 만 함수 매개 변수로 전달 된 변수의 이름을 추출해야하고 함수 내부에서 필요합니다.매개 변수로 전송 된 변수의 이름을 가져옵니다.
아래 예제에서 "guessMyName"name을 반환하는 Guess 함수를 사용할 수 있도록해야합니다.
이것이 가능합니까?
class NameSample
{
static internal void Test()
{
string message1 = "";
string message2 = "";
string guessMyName = "my value";
// guessMyName: my value
message1 = GetName(() => guessMyName) + ": " + guessMyName;
// parameter: my value
message2 = Guess(guessMyName);
}
static internal string Guess(object parameter)
{
return GetName(() => parameter) + ": " + parameter;
}
static internal string GetName<T>(Expression<Func<T>> expr)
{
return (expr.Body as MemberExpression).Member.Name;
}
}
아니, 그렇게 할 수는 없습니다. 메서드가 변수와 함께 호출되면 전달되는 변수의 값입니다 –
제안 된 복제본에 동의하지 않습니다. 그것은 완전히 다른 질문입니다. –
@ThomasLevesque 우리는 그것을 다시 열거 나 오른쪽 복제본으로 닫을 수 있습니다. –