В недавнем обзоре кода я обнаружил преобразователь класса с помощью IComponentContext, как показано в следующем примере:
using Autofac;
public class BaseClass
{
protected IComponentContext _componentContext;
public BaseClass(IComponentContext componentContext)
{
_componentContext = componentContext;
}
}
public class MyClass1: BaseClass
{
protected IMyClass2 _myClass2 = _componentContext.Resolve<MyClass2>();
public void Operation1()
{
_myClass2.Operation2();
}
}
Мне кажется, что приведенный выше код разрешает MyClass2 вне конструктора Class1 ().Разве это не шаблон поиска услуг и не разорение МОК?