次のコードを検討してください
public interface ISomeInterface
{
void DoSomething();
}
public class A : ISomeInterface
{
public void DoSomething() { }
}
public class B : ISomeInterface
{
public void DoSomething() { }
}
そして、2 つのインターフェースを使用する 1 つのクラス:
public class C : IC
{
protected ISomeInterface _dependency1;
protected ISomeInterface _dependency2;
public C ( ISomeInterface dependency1, ISomeInterface dependency2 )
{
_dependency1 = dependency1;
_dependency2 = dependency2;
}
}
A を依存関係 1 に、B を依存関係 2 に注入したいと思います。私はそのようなことができることを知っています:
builder.RegisterType<C>().As<IC>()
.WithParameter( "dependency1", new A() )
.WithParameter( "dependency2", new B() );
しかし、Autofac でそれを行うより良い方法があることは知っています。