对于以下通用类。

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类型?

最佳答案

您可以使用以下代码。

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

class Message<T> : Message
{

}


然后您可以像TYPE一样访问Message.TYPE type = Message.TYPE.Heart;

10-07 18:55
查看更多