的类型。对不起,如果不清楚。我试图确定一个对象作为,而不是实际的类型的对象的类型。C#确定我不完全知道如何问这个问题好对象
说我有以下两类:
public class A{
public A() {
string thisTypeName = this.GetType().???; // the value I'm looking for here is "A" not "B"
}
}
public class B : A { }
我不希望是......
string thisTypeName = this.GetType().BaseType.Name;
...因为如果我决定做这个...
public class C : B { }
...然后现在我的this.GetType()。BaseType将引用类B,而不是A.
是否有一个内置的方式做到这一点?我猜我可能可以写上类型的扩展方法,将做我想做的。
在您的例子,你可以只使用'字符串thisTypeName = typeof(A)' – 2011-04-18 22:47:48
如果你已经知道_this_的类型(因为你在类的代码中),你为什么试图从'GetType()'这样的方法获得它? – 2011-04-18 23:06:40
你想要的是哪种类型?所有类都继承“Object”类,因此它将成为任何类的“最基础”类。你想要不是“对象”的“最基础”类吗?你想在同一个程序集中的“最基础”类吗? – Guffa 2011-04-18 23:21:32