現状では、このようにコードを書かなければなりません
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
この能力が言語から除外された特定の理由はありますか? 特に、それは悪いデザインと見なされますか? すでに投稿されている別の質問がありますが、残念ながらコメントするのに十分な担当者がいません。