【发布时间】:2011-05-30 13:58:21
【问题描述】:
据我们所知,您可以像这样将构造函数指向 Func<T>:
Func<MyObject> constructor = () => new MyObject();
var newObject = constructor();
但是有没有办法让一个你知道继承自 MyObject 的对象的构造函数,但你不知道它的确切类型?
Type inheritedObjectType = obj; // Parameter
Func<MyObject> constructor = () => new MyObject(); // as inheritedObjectType
var newInheritedObject = constructor; // Should now be of the inherited type
不能选择使用Activator 或任何返回Object 的答案。
编辑:我不知道在编译时派生类型是什么类型。我只有一个System.Type。
【问题讨论】:
标签: c# lambda constructor func inherited