考虑下面的构造签名:使用Unity注册类型使用构造函数需要参数数组
public MyClass(Class1 arg1, params Class2[] arg2)
如何注册MyClass的使用Unity传递特定命名的类型使用InjectionConstructor。
我已经试过如下:
unityContainer.RegisterType<IMyClass, MyClass>(new InjectionConstructor(typeof(Class1), new ResolvedParameter<IClass2>("name1"), new ResolvedParameter<IClass2>("name2")))
但得到一个异常说是有与无签名构造:
public MyClass(Class1 arg1, Class2 arg2, Class2 arg3)
我已经通过重载MyClass的构造得到全面的问题。有没有办法做到这一点,而不会重载构造函数?
谢谢。我正在使用注入构造函数,因为我有几个IClass2的实现,我只是将其中的一些传递给MyClass构造函数。如果有更好的方法来做到这一点,请告诉我! – macleojw
@macleojw请参阅我的更新。 –