Autofacを使用しています。コンストラクターパラメーターに適用する属性に基づいて、依存関係の異なる実装を注入したいと思います。例えば:
class CustomerRepository
{
public CustomerRepository([CustomerDB] IObjectContainer db) { ... }
}
class FooRepository
{
public FooRepository([FooDB] IObjectContainer db) { ... }
}
builder.Register(c => /* return different instance based on attribute on the parameter */)
.As<IObjectContainer>();
属性は、接続文字列などのデータを提供します。これを使用して、正しいオブジェクトをインスタンス化できます。
これどうやってするの?