0
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接線
StructureMap Exception Code: 202
No Default Instance defined for PluginFamily ClassLibrary1.ICar, ClassLibrary1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
我讀了快速入門,我明白,如果你wireup一個特定的接口也設置在構造函數中使用,你不」不得不在每個類結構中明確地連接接口。所以在上面,我把IEngine連接到V6Engine,然後把ICar連接到HondaCar(它有一個構造函數,它有一個已經連接好的IEngine)。
爲什麼這不起作用?
是的,這有效,但爲什麼?在Web應用程序中,objectfactory會起作用嗎?容器將不在包含容器配置代碼的文件以外的其他位置。 – codecompleting
你使用的是asp.net mvc嗎? – alexl
如果你想使用ObjectFactory使用ObjectFactory.Initialize(x => ...); – alexl