1
object[] parame = new object[1];
parameters[0] = param1;

ConstructorInfo[] info = type.GetConstructors();
info[0].Invoke(parame );

obj= Activator.CreateInstance(type, parameters);

这给了我一个错误,说ctor找不到,因为ctor将接口作为参数。

现在如何创建这个对象的实例?

public Controller(ICustomInterface custom)
        {
            _custom= custom;
        }

我试图用相同的参数调用ctor,它说这个类的对象不能转换为接口类型。虽然这个类实现了这个接口。

4

1 回答 1

2

实现您的接口,以便您可以创建实现接口的实例,如下所示:

class CustomClass : ICustomInterface {}

你只需Activator调用

var obj = Activator.CreateInstance(typeof(Controller), new CustomClass());

它将返回一个正确的实例Contoller,并new CustomClass()作为构造函数参数传递

于 2013-03-21T11:22:55.077 回答