Я хотел бы автообновить обычные/простые сервисы в контейнере единства. Я думаю, что самый чистый способ сделать это будет через пользовательский атрибут.Пользовательский атрибут атрибута 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
), с типом параметра (Passing в результатах IEngine.GetType в «Constant выражения требуется»)
возможно ли это? Если да, то как я могу это достичь?
Спасибо, thaqt именно то, что я был после – Basic