如何使用反射创建以接口作为构造函数参数的类的实例


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()作为构造函数参数传递

相关内容

  • 没有找到相关文章

最新更新