我需要在不同的情况下创建不同类的对象。所以我决定用字典。我想看到这样的东西:
var Object = new myDictionary["someString"];
其中myDictionary["someString"]指向一个类构造函数。顺便说一下,这个字典中的所有类都有相同的父类。
您可以使用Func
的字典创建实例:
Dictionary<string, Func<BaseClass>> myDictionary = new Dictionary<string, Func<BaseClass>>
{
{"BaseClass", () => new BaseClass()}
};
var x = myDictionary["BaseClass"]();