通常我可以调用this.GetType(),但我无法在静态方法中访问它。我们怎么检查呢?
答案 0 :(得分:30)
new StackFrame().GetMethod().DeclaringType
或
MethodBase.GetCurrentMethod().DeclaringType
或
new StackTrace(true).GetFrame(<frame index>).GetMethod() //e.g. <frame index> = 0
答案 1 :(得分:15)
使用 typeof :
string className = typeof(MyClass).Name;
答案 2 :(得分:0)
我不知道这是否是最好的方法,但我通常设置一个private
构造函数(如果我的类是一个静态/不可实例化的类),而不是调用GetType()
在一个实例上。
private MyStaticClass
{
// ...
}
public static Type MyStaticMethiod()
{
return new MyStaticClass().GetType();
}