2012-02-17 25 views

cevap

26
new StackFrame().GetMethod().DeclaringType 

veya

MethodBase.GetCurrentMethod().DeclaringType 

veya

new StackTrace(true).GetFrame(<frame index>).GetMethod() //e.g. <frame index> = 0 
0

bunu yapmanın en iyi yolu ise bilmiyorum ama benim sınıf bir ise genellikle (a private yapıcı set Statik/kullanılamayan bir sınıf) ve bir örnekte GetType()'u arayın.

private MyStaticClass 
{ 
    // ... 
} 


public static Type MyStaticMethiod() 
{ 
    return new MyStaticClass().GetType(); 
} 
13

Kullanım typeof:

string className = typeof(MyClass).Name; 
+1

statik işlevini, bu kod, başka bir sınıf –

+0

@lo Evet yapıştırılır, ancak sınıf yeniden adlandırma doğru yazı tipini tutarsa ​​çalışmayacak. – brgerner

+1

@lo Sınıfı ReSharper'ın * Kopya Türü * ile kopyalarsanız, typeof ifadesinin yeniden düzenlenmesi de doğru kalmalıdır. – brgerner

İlgili konular