Как передать разрешенные экземпляры из Inversion of Control в классы в приложении?

Я использую инверсию управления Castle Windsor в своем приложении. Когда приложение загружается впервые, IWindsorContainer.Resolveразрешает компоненты (, в частности, фабрики )в экземпляры.

Например, ILoggerFactoryразрешается вMyCustomLoggerFactory(или во что-либо, что реализует ILoggerFactory), чей метод CreateLogger()создает регистратор. Я хочу, чтобы каждый класс вызывал ILoggerFactory.CreateLogger(). Однако я не хочу передавать ILoggerFactoryв конструктор каждого класса.

Как каждый класс может получить доступ к конкретной фабрике ILoggerFactoryбез необходимости каждый раз вызывать IWindsorContainer.Resolve?

5
задан cubetwo1729 17 April 2012 в 17:11
поделиться