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)。
为什么这不起作用?
答案 0 :(得分:1)
尝试:
container.GetInstance<ICar>();
希望它有所帮助。