선언 된 변수의 이름을 얻는 방법을 아는 사람은 누구입니까? 예를 들어 :선언 된 변수 이름 찾기
Public Function returnName(variable as integer) as string
Dim [string] as string = string.empty
[string] = variable.name
return [string]
End Function
필자는 몇 가지 유형의 포인터 또는 수 참조가 그러나 믿기 합리적인 것, 그것은 대부분의 IL 통과 변수의 이름을 저장하지 않음을 설명하는, 그것의 불가능을 말하는 몇 번 시도 볼 이름으로 추적된다. 누구든지이 부분에 대해 어떤 표제를 줄 수 있습니까?
왜? 이것은 순전히 개인적인 연구입니다. (당신의 예)
Private Shared Function Check(Of T)(expr As Expression(Of Func(Of T))) As String
Dim body = DirectCast(expr.Body, MemberExpression)
Return body.Member.Name
End Function
을 그리고 이것은이 유형 Integer
의의 가정, 당신은 variable
의 이름을 확인 할 방법은 다음과 같습니다 :
함수에 대한 매개 변수에 메서드 호출에 사용 된 값의 복사본이 할당되는 것은 (특히 주어진 예제에서)별로 의미가 없습니다. ByRef 매개 변수의 경우에도 큰 의미가 없습니다. "포인터 또는 참조"가 있다고 가정 할 이유가 없습니다. 일반적으로 그런 것이 필요하지 않습니다. –
포인터 참조를 믿을만한 완벽한 이유가 있다고 생각합니다. 해당 변수의 정보에 대한 경로가 있어야합니다. ByRef는 변수에 대한 참조를 전달합니다. 사실을 통해 당신의 위치를지지 할 수 있습니까? – Ccorock
당신의 예제 메소드가 주어지면,'returnName (a + 5)'에 의해 호출되었을 때 그 응답은 어떻게 될 것이라고 기대할 수 있습니까? 그게 완벽하게 합법적 인 호출이기 때문입니다 ('a'는 그때 범위 변수입니다). –