У меня есть следующий код asp.net c #
{
public class Test
{
ISomeService _someService;
public Test()
{
}
public void DoSomething()
{
_someService.Do();
}
}
Мне нужно предоставить ISomeService для класса Test, и я не знаю, как это сделать.Мне не разрешено добавлять дополнительную конструкцию, которая устраняла бы всю проблему, например
public Test(ISomeService someService)
{
_someService = someService;
}
Я пытался использовать сеттерную инъекцию или методную инъекцию, но это не помогло.
Реализация ISomeService в классе SomeService также использует инъекцию конструктора, например
public SomeService(IService1 service1, Iservice2 service2)
Не уверен, что здесь делать.
ЗДЕСЬ ПОЛНЫЙ КОД
public class Startup
{
private IService _service;
public Startup()
{
}
public Startup(IService service)
{
_service = service;
}
public void Configuration(IAppBuilder app)
{
HttpConfiguration config = new HttpConfiguration();
var container = new UnityContainer();
container.RegisterType<IService, Service>();
config.DependencyResolver = new UnityDependencyResolver(container);
app.UseWebApi(config);
_service.DoSomething());
}
}
_сервис нулевой