現在、会社で Autofac をテストしています。
次のルールが必要です。
インターフェースが 1 回だけ実装されている場合は、builder.RegisterAssemblyTypes を使用して自動的に追加します (以下を参照)。
それ以外の場合は、どの実装が「デフォルト」の実装であるかを決定するルールを手動で記述する必要があります。
次のコードがあります。
var builder = new ContainerBuilder();
builder.RegisterAssemblyTypes(Assembly
.Load("Lunch.Service")).As(t => t.GetInterfaces()[0]);
builder.RegisterType<ConsoleLoggerService>()
.As<ILoggerService>().SingleInstance();
builder.RegisterModule(new DestinationModule());
builder.RegisterType<TransportationService>()
.As<ITransportationService>().PropertiesAutowired();
現在、それは機能していますが、最初の実装がどれであるかを決定し、それを自動的に作成します。これを手動プロセスにして、「ルール」を手動で作成しないとエラーがスローされるようにしたいと考えています。これは可能ですか?