ExecutingMethodName
은 호출자의 메서드 이름을 인쇄하기위한 것입니다. 예 :보조 메서드를 통해 현재 실행중인 메서드 이름을 인쇄하는 방법은 무엇입니까?
static void Main(string[] args){Auxiliary.ExecutingMethodName();}
은 주를 인쇄해야합니다.static void Foo(){Auxiliary.ExecutingMethodName();}
은 Foo를 인쇄해야합니다.
static class Auxiliary
{
public static void ExecutingMethodName()
{
Console.WriteLine(new StackFrame(0).GetMethod().Name);
}
}
class Program
{
static void Main(string[] args)
{
Auxiliary.ExecutingMethodName();// should print Main
}
static void Foo()
{
Auxiliary.ExecutingMethodName();// should print Foo
}
}
질문
항상 내가 원하는 것이 아니다 그 ExecutingMethodName
를 인쇄 위의 현재 구현. 어떻게 보조 메서드를 통해 현재 실행 메서드 이름을 인쇄 할?
Voted up. 좋은 생각. 'callerName = null'을 초기화하는 목적은 무엇입니까? –
"CallerMemberName 특성을 기본값이있는 선택적 매개 변수에 적용합니다. 선택적 매개 변수에 대한 명시 적 기본값을 지정해야하며 선택적으로 지정되지 않은 매개 변수에는이 특성을 적용 할 수 없습니다." MSDN 링크에서 제공됩니다. –