为什么没有静态索引器?

时间:2009-06-01 18:28:59

标签: c# static-indexers

  

可能重复:
  How to reference an indexer member of a class in C# comments
  Static Indexers?


按照目前的情况,我必须像这样编写我的代码

internal class ReportMap {

    static internal ReportMap Instance {
        get { return reportMap; }
    }

    internal Type this[char c] {
        get { return data[c]; }
    }

    // private parts
    static Dictionary<char, Type> data =
        new Dictionary<char, Type>();

    ReportMap() {
        data.Add('S', typeof(StatusReport));
        data.Add('Q', typeof(QualityReport));
    }

    static ReportMap reportMap = new ReportMap();
}

并访问索引:

Type t = ReportMap.Instance[aChar]; // eww

这种能力是否被排除在语言之外?特别是它会被认为是糟糕的设计吗?关于此问题还有另一个问题已经发布,但遗憾的是我没有足够的代表发表评论。

1 个答案:

答案 0 :(得分:0)

那是一个很好的愚蠢参考。具体来说,看看答案:-) Static Indexers?