如何創建一個字典來存儲作爲值的繼承另一個類的類型?如何創建字典以存儲子類的類型
例如:
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 { }
我不想存儲實例,但類類型。
編輯:對不起,我對我確切想要做的壞解釋。我正在尋找一種方法來存儲類型,並確保此類型繼承父。我想要保證類型安全,並確保商店類型是Parent的子代。唯一的方法,現在,我想如何做到這一點是創建我自己的IDictionary的實現爲here。但那不是我想要的。我想這樣做
Dictionary<string, typeof(Parent)> dict = ...
有什麼想法嗎?
你想'typeof'在'字典[ 「鍵1」] = typeof運算(Child1);'如果你需要在運行時通過'instance.GetType()'' – asawyer
'獲得相同值的實例。同樣值得注意的是,類型字典通常是IoC容器的開始。如果您發現自己希望獲得對象生命週期管理功能,則可能需要查看Autofac或Ninject。 – neontapir