【发布时间】:2011-08-10 02:20:35
【问题描述】:
首先我想说我对 C# 很陌生。有没有办法实现如下构造?或者还有其他方法可以存档吗?
public interface IClass
{
Dictionary<Enum, ISecondClass> { get; }
}
public abstract class ClassBase : IClass
{
public abstract Dictionary<Enum, ISecondClass> { get; protected set;}
}
public class ConcreteClass : ClassBase
{
public override Dictionary<ConreteEnum, ISecondClass> { get; protected set;}
}
编辑: 我忘了说 Dictionary 的具体实例需要实现一个自定义的枚举比较器,需要一个具体的枚举来初始化
所有对本例所需的自定义枚举比较器感兴趣的人,请查看此链接:Custom-Enum-Comparer
【问题讨论】:
-
请注意,使用枚举作为字典键会在比较期间将枚举类型装箱,因为它没有实现 IEquatable。见:beardseye.blogspot.com/2007/08/nuts-enum-conundrum.html
-
感谢您的建议,但我已经知道这一点,因此使用自定义枚举比较器实例化字典。 link
标签: c# dictionary enums key