我想在我的統一容器中自動註冊常用/簡單服務。我認爲最乾淨的方法是通過自定義屬性。System.Type的自定義屬性參數
然後我可以檢查程序集中的所有(抽象)類,並將這些類型統一註冊。
的一塊我失蹤的信息是類要進行對
註冊的接口(一個或多個),例如:
Public Class AutoRegisterAttribute
Public Property ForInterface As System.Type
Public Sub New(ForInterface As System.Type)
Me.ForInterface = ForInterface
End Sub
...
End Class
和類將按如下
使用<AutoRegister(ForInterface:=Stratego.Interfaces.IEngine)>
Public Class StrategoEngine
Implements IEngine
Implements IDisposable
...
End Class
請注意,我不只是想找到它實現的任何類,如IDisposable
我試着這樣做使用泛型(泛型無法從Attribute
繼承),與一類參數(如屬在IEngine.GetType結果傳遞「常量表達式要求」)
這可能嗎?如果是這樣,我該如何實現它?
謝謝,thaqt正是我之後的事情 – Basic 2012-02-20 01:59:36