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 )。
为什么这不起作用?
发布于 2011-09-15 22:11:31
尝试:
container.GetInstance<ICar>();
希望能有所帮助。
https://stackoverflow.com/questions/7432182
复制相似问题