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;
}
我尝试用相同的param调用ctor,并且说这个类的对象不能转换为Interface类型。虽然这个类实现了这个接口。
答案 0 :(得分:2)
实现您的接口,以便您可以创建实现接口的实例,如下所示:
class CustomClass : ICustomInterface {}
您只需将Activator
称为
var obj = Activator.CreateInstance(typeof(Controller), new CustomClass());
它将返回Contoller
的正确实例,new CustomClass()
作为构造函数参数传递