日期:2014-05-19  浏览次数:20823 次

提问:如何在类的静态方法/属性中得到类名?
在非static的方法中,可以用this.GetType()得到类的名和类型,
在static方法中应该如何做呢?

------解决方案--------------------
你这样来取:

static class someStaticClass
{
public static string getTypeName()
{
MethodBase mb = MethodBase.GetCurrentMethod();
string name = mb.ReflectedType.FullName;
return name;
}
}
------解决方案--------------------
静态方法的继承本来就不是传统意义上的继承,也不推荐用继承的观点和用法去看待它,如果一定要知道,显然加个Type类型的参数比较好。像GetCurrentMethod方法实际上效率是很差的。