構造マップを使用して、2つの異なる方法のいずれかで構成された同じ具象タイプを取得するにはどうすればよいですか?たとえば、あるインスタンスではユーザーキューをリッスンするように構成されたクラスがありますが、別のインスタンスではファシリティキュー用に構成されています。オブジェクトに関する他のすべては同じです。
コンストラクターで列挙型を受け入れるオブジェクトを作成しました。列挙型の値に基づいて、オブジェクトはファシリティキューまたはユーザーキューのいずれかをリッスンします。では、同じタイプの2つの異なる構成のオブジェクトを渡すように構造マップを構成するにはどうすればよいですか?クラスは私のインターフェースを実装しているので、次のようになります。
public class Configuration : IConfiguration {
public Configuration(enum configType) {
if (configType == enum.users) {
/* code */
} else if(configType == enum.facilities) {
/* code */
}
}
}
次に、構成オブジェクトを2回受け入れるように親クラスをセットアップしようとしています。1回はファシリティ用に構成され、もう1回はユーザー用に構成されています。どうすればいいですか?2つのクラスのインスタンス名に基づいてそれを実行できるのではないかと思いましたが、これを実行する方法を説明している可能性のあるドキュメントや他の場所には何も見つかりません。親クラスは次のようになります。
public class Parent : IParent {
public Parent(IConfiguration facilityConfig, IConfiguration userConfig) {
}
}
したがって、親クラスでは、「facilityConfig」をenum.facilitiesが渡されたConfigurationのインスタンスにし、「userConfig」オブジェクトが同じConfigurationクラスのインスタンスになりますが、enum.usersが渡されます。私が求めていることが意味をなさないかどうか教えてください。