【问题标题】:Use a Enum Bastetype as Key in a abstract Dictionary使用枚举 Bastetype 作为抽象字典中的键
【发布时间】: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

【问题讨论】:

标签: c# dictionary enums key


【解决方案1】:

您可以将泛型类型参数添加到类/接口级别

public interface IClass<TEnum>
{ 
    Dictionary<TEnum, ISecondClass> { get; } 
}

public abstract class ClassBase<TEnum> : IClass<TEnum>
{
    public abstract Dictionary<TEnum, ISecondClass> { get; protected set;}
}

public class ConcreteClass : ClassBase<ConcreteEnum>
{
    public override Dictionary<ConcreteEnum, ISecondClass> { get; protected set;}
}

【讨论】:

    猜你喜欢
    • 2019-06-29
    • 1970-01-01
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多