[英]How can I access enum in Class<T> in C#?
這段代碼出現錯誤CS0305
。 有沒有好的方法來做到這一點?
public class Filtre<T> : List<KeyValuePair<Filtre.Methode, object>>
{
public enum Methode
{
Id,
Keyword
}
}
如果您真的想將枚舉保留在Filtre<T>
中,則將 class 簽名更改為 -
public class Filtre<T> : List<KeyValuePair<Filtre<T>.Methode, object>>
{
public enum Methode
{
Id,
Keyword
}
}
但這有任何意義嗎? 想一想, T
的值是否會影響枚舉Methode
? 不,而是在代碼中增加了不必要的摩擦。
此外,您不能將枚舉聲明為比public
更難訪問的東西,因為這樣您將使基礎 class List<KeyValuePair<Filtre<T>.Methode, object>>
比Filtre<T>
更難訪問。
所以,最好在外面聲明枚舉,並簡化 class 簽名 -
public enum Methode
{
Id,
Keyword
}
public class Filtre<T> : List<KeyValuePair<Methode, object>>
{
//
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.