Я пытаюсь выяснить, как сделать следующее:
[CustomAnnotation(thisVariableShouldBeInjected)]
public class MyClass
{
// Normal class stuff
}
Теперь аннотация данных украшает класс обслуживания WCF, в котором происходит внедрение конструктора.В идеале я хотел бы добавить аннотацию к значению, используя контейнер Ninject IOC, однако этот вопрос не зависит от контейнера.
Я просто реорганизовал класс Annotation из статического класса, и мне не хотелось бы преобразовывать его обратно.
Я рад сделать внедрение свойства (внедрение конструктора не будет работать с аннотациями данных, так как они должны быть константами на самом деле).Я просто не знаю, как в этом случае.
Любые предложения с радостью приветствуются!
В ответ на вопросы / комментарии:
В этом конкретном случае служба WCF снабжена атрибутами, некоторые из которых выполняют такие функции, как аудит запросов службы и сбор статистики.В этих случаях классы аннотаций вызываются непосредственно инфраструктурой WCF, и я не могу получить к ним доступ на этапе конструктора.
Я пробую внедрение свойств, основанных на отражении (как предложено).В этой конкретной ситуации мне помогает тот факт, что классы аннотаций являются глобальными, поскольку я пытаюсь внедрить экземпляры репозитория - в любом случае, мне нужен только один.
Возможно, именно так я и поступлюинъекции.Однако в моей книге это намного лучше, чем статические классы с их статическими ссылками на репозиторий.