2

同じコンストラクターパラメーター(strConn)を持つ同じインターフェイスの複数の実装があります。すべての実装を1つのコンテナに登録することは可能ですか?呼び出しを登録しますか?

これが私が持っているものです:

container.Register(
            Classes.FromAssemblyContaining<IUserMenuDao>()
                .BasedOn<IDataAccess>().WithService.FromInterface()
            );

これらの実装はすべて同じコンストラクターパラメーターを持っています。strConn。登録は次のようになります。

container.Register(Component.For<IUserMenuDao>()
                               .DependsOn(new {strConn = ConfigurationManager.ConnectionStrings["ABC123"].ConnectionString})
                               .ImplementedBy<UserMenuDaoSqlServerImpl>());

コードサンプル#1と同様に、すべての実装にDependsOnを使用して、慣例により登録する方法はありますか?

4

1 に答える 1

6

はい確かに

container.Register( 
    Classes.FromAssemblyContaining<IUserMenuDao>() 
         .BasedOn<IDataAccess>()
         .WithService.FromInterface() 
         .Configure(c => c.DependsOn(new {strConn = ConfigurationManager.ConnectionStrings["ABC123"].ConnectionString}))
    ); 
于 2012-07-27T07:00:43.480 に答える