将Type作为参数传递给函数

时间:2011-01-25 22:47:45

标签: c# object silverlight-3.0 memory-management

我有一个字典对象

Dictionary<string, Type> dict = new Dictionary<string, Type>();

我还有一个 BaseClass 和一些子类,比如: ChildClass1 ChildClass2 等。 字典有值:

dict.Add("type1", typeof(ChildClass1));
dict.Add("type2", typeof(ChildClass2));

我的问题是 - 有没有办法做这样的事情:

BaseClass c = new <<get a type from the dict: dict[type1]>>()?

我只想让我的解决方案更灵活,但我不确定这是否可行。 谢谢!

2 个答案:

答案 0 :(得分:6)

var c = (BaseClass)Activator.CreateInstance(dict["type1"]);

答案 1 :(得分:1)

您可以调用Activator.CreateInstance(type)