ばかげた質問かもしれませんが、私はそれにこだわっています。
アプリケーション全体で SimpleContainer を IoC として使用しようとしているので、データ アクセス レイヤーで次のようにブートストラップを定義しました。
public class AppBootstrapper : BootstrapperBase
{
SimpleContainer container;
public AppBootstrapper()
{
Start();
}
protected override void Configure()
{
container = new SimpleContainer();
container.PerRequest<IMyClass, MyClass>();
}
protected override object GetInstance(Type service, string key)
{
var instance = container.GetInstance(service, key);
if (instance != null)
return instance;
throw new InvalidOperationException("Could not locate any instances.");
}
しかし、どうすればそれを使用できますか?
私は単に実装を取得して書きたいと思っています:
IMyClass mc = new IoC.GetInstance(IMyClass );
しかし、私は方法を見つけられませんでした
私はもう試した:
SimpleContainer container = new SimpleContainer();
IMyClass mc = new container.GetInstance(IMyClass,null);
と:
IMyClass mc = new IoC.GetInstance(IMyClass, null);
しかし、どれも機能しません。
どうしたの?
編集:
そして、すべてのプロジェクトに 1 つの AppBootstrapper.cs がある場合、すべてうまく機能しますか、それともベスト プラクティスが異なりますか?