Под «окружающим объектом» я имею в виду тот, который всегда присутствует, делая что-то в фоновом режиме, но об этом никто больше не знает. Например, объект, который подключается к событиям на множестве других объектов и регистрирует сообщения при их запуске.Как заставить зарегистрированный «окружающий» объект быть разрешенным?
Проблема заключается в том, что никто, кроме строителя Unity, не знает, что этот объект существует, никто не решает его, и он никогда не создается. Есть ли элегантное решение этой проблемы?
я мог бы создать фиктивный класс следующим образом:
public class AmbientObject
{
public object TheObject { get; set; }
}
создать фабричные методы, которые возвращают внешние условия внутри AmbientObject
оберток для каждого случая, зарегистрировать их все с Unity, а затем корень композиции сделать container.ResolveAll<AmbientObject>()
(и игнорировать возвращаемое значение), просто чтобы убедиться, что все они созданы, но это не совсем элегантно.
Какую платформу вы используете? MVC, консоль WPF и т. Д.? Можете ли вы использовать OWIN? – smoksnes
@smoksnes Это WPF – dlf
Когда вы хотите, чтобы он был создан? Когда другие объекты разрешены или во время запуска? – smoksnes