Я не могу понять это.У меня есть компонент, который зависит от службы.Служба имеет URL-адрес, который известен только во время выполнения.Как я могу получить экземпляр Компонента, используя контейнер?
public interface IService
{
Uri Url { get; set; }
}
public class Service : IService
{
public Uri Url { get; set; }
}
public class Component : IComponent
{
public Component(IService service) {... }
}
Я могу думать только об использовании Unity как Service Locator, чтобы получить контейнер по требованию и зарегистрировать мой экземпляр времени выполнения:
var service = new Service { Url = new Uri("http://...") };
Container.Resolve<IUnityContainer>().RegisterInstance<IService>(service);
var component = Container.Resolve<IComponent>();
Но я действительно хочу избежать SL.Есть ли другой способ?