var container = new Container(x =>
{
x.For<IEngine>().Use<V6Engine>();
x.For<ICar>().Use<HondaCar>();
}
);
ICar car = ObjectFactory.GetInstance<ICar>();
Console.WriteLine(car.Noise());
Я получаю ошибку:
StructureMap Exception Code: 202
No Default Instance defined for PluginFamily ClassLibrary1.ICar, ClassLibrary1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Я прочитал краткое руководство и понял, что если вы подключаете определенный интерфейс, который также используется в конструкторе, вам не нужно явно подключать интерфейс в каждой структуре классов.
Итак, в приведенном выше примере я подключил IEngine к V6Engine, а затем ICar к HondaCar (у которого есть конструктор с IEngine, который я уже подключил).
Почему это не работает?