0

私はこのようなものを持っています

 MyRepository<T> : IRepository<T> {

  public MyRepository(string cs){
   ....

}

したがって、このジェネリック型を winsdor に登録し、パラメーターを渡す必要があります。

私はこれを次のようにしようとしてきました:

Type t = typeof(IRepository<>);
Type t1 = typeof(Repository<>);
Hashtable props = new Hashtable(); 
props.Add("cs", "myconnstring");
container.AddComponentWithProperties("key1", t, t1, props);

次のエラーが表示されます

満たすべき依存関係があるため、コンポーネント 'key1' を作成できません。key1 は次の依存関係を待機しています:

キー (特定のキーを持つコンポーネント) - 登録されていない cs。

4

2 に答える 2

3

これを試して:

container.Register(Component.For(typeof(IRepository<>))
   .ImplementedBy(typeof(MyRepository<>))
   .Parameters(Parameter.ForKey("cs").Eq("myconnstring"));

詳細については、流暢な登録 wikiを参照してください。

于 2009-08-28T12:42:56.100 に答える