別のクラスを継承する型を値として格納する辞書を作成するにはどうすればよいですか?
例えば:
Dictionary<String, typeof(Parent)> dict = new Dictionary<string, typeof(Parent)>();
dict["key1"] = typeof(Child1);
dict["key2"] = typeof(Child2);
dict["key3"] = typeof(Child3);
public abstract class Parent { }
public class Child1 : Parent { }
public class Child2 : Parent { }
public class Child3 : Parent { }
インスタンスではなくクラスタイプを保存したい。
編集:私が正確にやりたいことについての私の悪い説明で申し訳ありません。Type を格納し、この Type が Parent を継承していることを確認する方法を探しています。タイプ セーフになり、ストア タイプが Parent の子であることを確認します。今のところ、これを行う唯一の方法は、 hereのように IDictionary の独自の実装を作成することです。しかし、それはまさに私が欲しいものではありません。私はこれをしたいです
Dictionary<string, typeof(Parent)> dict = ...
何か案が?