的類型。對不起,如果不清楚。我試圖確定一個對象作爲,而不是實際的類型的對象的類型。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