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;
}
我试着用相同的参数调用函数,它说这个类的对象不能转换为接口类型。虽然这个类实现了这个接口
实现你的接口,这样你就可以创建实例,实现接口,像这样:
class CustomClass : ICustomInterface {}
您只需将Activator
称为
var obj = Activator.CreateInstance(typeof(Controller), new CustomClass());
它将返回一个正确的Contoller
实例,其中new CustomClass()
作为构造函数参数传递