【发布时间】:2012-03-09 22:08:10
【问题描述】:
我想在我的统一容器中自动注册常用/简单服务。我认为最简洁的方法是通过自定义属性。
然后我可以检查程序集中的所有(抽象)类并统一注册这些类型。
我缺少的信息是类要注册的接口
例如:
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 导致“需要常量表达式”)来执行此操作
这可能吗?如果是这样,我该如何实现?
【问题讨论】:
标签: .net vb.net attributes custom-attributes