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