考慮下面的構造簽名:使用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請參閱我的更新。 –