Помогите с базовой структурой карта проводки - PullRequest
0 голосов
/ 15 сентября 2011
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, который я уже подключил).

Почему это не работает?

1 Ответ

1 голос
/ 15 сентября 2011

попробуй:

container.GetInstance<ICar>();

Надеюсь, это поможет.

...