2009-07-29 5 views
2

私は例外を取得インスタンスを作成しようとすると、その後SMに以下と登録 - 「のStructureMap例外コード:202 NoデフォルトインスタンスPluginFamilyのために定義されていない...」のStructureMap例外コード:202 Noデフォルトインスタンスが定義されていない

Scan(x => 
     { 
      x.Assembly("MVCDemo"); 
      x.Assembly("MVCDemo.Infrastructure"); 
      x.Assembly("MVCDemo.Services"); 

      x.AddAllTypesOf(typeof (IRepository<>)); 
     }); 

     ForRequestedType<IRepository<Employee>>().TheDefault.Is.ConstructedBy(() => new EmployeeRepository()); 


var tmp4 = ObjectFactory.GetInstance<IRepository<Employee>>(); 

例外はIRepositoryのインスタンスを取得しようとしたときに発生します。

誰かが迷っていることを知っていますか?答えは私がインスタンスを作成するためにはObjectFactory使うべきではないです

乾杯

Ollie第

答えて

5

、私はコンテナを使用する必要があります。

var container = new Container(new MvcDemoRegistry()); 
var cultureProvider = container.GetInstance<IProvideCultureInfo>(); 

のTa

Ollie第

2

コンテナを使用してインスタンスを取得することは想定されていません。 IoCおよびDI。コンストラクタインジェクションを使用し、IoCがインジェクションを処理するようにする必要があります。

関連する問題