Я собираюсь создать графический интерфейс SOA, и я хотел бы автоматически определять службы и зависимости служб от клиентских модулей. У меня есть код, подобный этому, который работает с использованием атрибутов, размещенных на модулях класса:
[ServiceProvider(typeof(DemoService3))]
[ServiceConsumer(typeof(DemoService1))]
Мне интересно, как я могу сканировать их автоматически, чтобы люди не забыли добавить маркер и потенциально получить нулевые ссылки во время выполнения. В коде сервисы регистрируются и выбираются с помощью следующих команд:
Services.RegisterService(new DemoService1());
Services.FetchService<DemoService3>();
Я хочу найти эти вызовы, а также передаваемые типы (оба принимают параметр типа, неявный для первого) ... остальная часть кода для выполнения моих зависимостей и построения уже выполнена:)