2009-09-08 3 views

답변

7

호출 스택을 검사하여 호출하는 메서드의 이름을 으로 가져올 수 있습니다. 클래스 인스턴스를 얻으려면은 다른 이야기이며 쉽게 실현되지는 않습니다 (가능하다해도 실제로 시도한 적이 없습니다). 예를 들어 static 메서드에서 메서드를 호출 할 가능성을 고려해야합니다.이 경우 찾을 수있는 클래스 인스턴스가 없습니다.

어느 쪽이든, 이것은 일반적으로 좋은 일이 아닙니다. 메소드가 호출하는 클래스 인스턴스에 액세스해야하는 경우 메소드의 매개 변수로 추가하십시오.

1

StackTrace.GetFrame 메서드를 확인할 수 있습니다. :)

0

글쎄, 당신이 방법에 있다면, 당신은 클래스의 유형을 얻으려면이 줄을 사용할 수 있습니다. 하지만 인스턴스을 요청한 이후로 실제로 원하는 것인지 확실하지 않습니다.

Type yourclass = MethodBase.GetCurrentMethod().DeclaringType; 
2

아니요. 스택에 대한 정보를 찾을 수는 있지만 관리되지 않는 코드 경계 (Windows 메시지, 콜백, COM-interop 등) 또는 간단한 정적 메서드와 같은 인스턴스가없는 경우가 있습니다.

대체 솔루션을 찾을 수 있도록 처음부터 무엇을 달성해야하는지 설명해야합니다. 가능하면

0

, 당신은 예를 들어 WPF 방법 사이에 공통적 인 같은

object sender

매개 변수를 추가 시도 할 수 있습니다.

관련 문제