У меня небольшая проблема с разрешением типов в Unity.
Вот пример того, что я хочу сделать:
public class MainClass
{
public void MainMethod()
{
UnityContainerHelper.DefaultContainer.Resolve<FirstClass>(new ParameterOverride("Property1", "SomeValue"));
UnityContainerHelper.DefaultContainer.Resolve<FirstClass>(new ParameterOverride("Property1", "OtherValue"));
}
}
public class FirstClass
{
[InjectionMethod]
public void DoSomething(SecondClass sc)
{
}
}
public class SecondClass
{
public string Property1 { get; set; }
[InjectionMethod]
public void DoSomething()
{
UnityContainerHelper.DefaultContainer.Resolve<ThirdClass>(this.Property1);
}
}
public class ThirdClass
{
}
РЕДАКТИРОВАТЬ: Есть ли способ настроить Unity для разрешения моего третьего класса по имени, когда я разрешаю свой первый класс?
Проблема заключается в том, что я хочу явно разрешить FirstClass, а по конфигурации сказать Unity, что "использовать этот ThirdClass" при разрешении SecondClass.Я ясно?
Я пытаюсь сделать «слой разрешения», чтобы сделать это, но мне интересно, есть ли простой способ сделать это.