簡體   English   中英

引用泛型類中的枚舉成員的語法

[英]Syntax to refer an enum member in a generic class

對於以下通用類。

class Message<T>
{
    public enum TYPE { Heart, Spade };
}

在Java中,要引用枚舉,我可以簡單地

// Works in Java
Message.TYPE type = Message.TYPE.Heart;

但是在C#中呢? 在C#中,我需要提供一個虛擬類型

Message<double>.TYPE type = Message<double>.TYPE.Heart;

有什么辦法可以避免使用dummy類型?

單獨定義枚舉,而不是在類內。

編輯:

class Message
{
    public enum TYPE { Heart, Spade };
}

class Message<T>: Message
{
}

現在,您可以同時使用兩種方法:

Message.TYPE type1 = Message.TYPE.Heart;
Message<double>.TYPE type2 = Message.TYPE.Heart;

希望這會有所幫助。

您可以使用以下代碼。

abstract class Message
{
   public enum TYPE { Heart, Spade };
}

class Message<T> : Message
{

}

然后您可以訪問TYPE例如Message.TYPE type = Message.TYPE.Heart;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM