对于以下通用类。
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;