所以,如果有一個名爲class
Bar
,爲什麼我不能訪問enum
財產或在這種情況下的type
<T>
任何static
財產enum
屬性。我隱含聲明<T>
是type
Bar
。只是想知道它是否僅僅是泛型的限制或其本身。從通用引用類型獲取一個枚舉或靜態屬性<T>
修訂
在@Frederik Gheysels的答案,它提到,如果我有一個簡單地從Bar
獲得的class
,我不會有機會獲得enum
或任何static
base
。這是不正確的,這編譯和工作。
public class Foo : Bar
{
public Foo()
{
// This all works
var address = this.Address;
var car = Foo.Cars.Honda;
var name = Foo.Name;
}
}
public class Bar
{
public static string Name { get; set; }
public string Address { get; set; }
public enum Cars
{
Honda,
Toyota
}
}
你爲什麼要*能夠做到這一點?這裏的用例是什麼? – 2012-02-10 16:03:38
類似於http://stackoverflow.com/questions/196661/calling-a-static-method-on-a-generic-type-parameter – AlG 2012-02-10 16:03:40
你是否試圖完成類似於[this](http:// stackoverflow .COM /問題/ 4704201 /什麼,是最最好的方式對覆蓋-枚舉)? – 2012-02-10 16:05:53