我想使用Unity來解析抽象類。 抽象類具有某些泛型的實現。例如:解決基於泛型的抽象類
public abstract class Iface<S, T> where S : SomeClass where T : OtherClass
public class face : Iface<SomeClassExample, OtherClassExample>
然後我想執行:
UnityContainer.Resolve<Iface<SomeClassExample, OtherClassExample>>();
但它給出了錯誤的例外是:
出現InvalidOperationException - 抽象類的實例不能被創建。
這是顯而易見的,因爲我想創建一個抽象類。我希望Unity能夠聰明地找到基於泛型的特定課程。是可以做這樣的事情嗎?
統一是一個依賴注入容器,而不是一個神奇的燈。例如通過反射註冊實現。 – Dbl
是的,你需要在Unity中註冊'face',並在每次代碼請求'Iface時告訴它使用'face'。 –
Brandon
如果你需要註冊face,那麼在這裏使用反射有什麼意義?我不妨稱呼新面孔(); –
Wouter