変数に保存された国コードに基づいてUnity DIコンテナを使用してクラスを動的にロードしたいとします。私のシナリオでUnityを実装してクラスを動的にロードする方法
私たちの勝利アプリはUPS、FedEx、Purolatorのようなサードパーティの企業が開発したWebサービスを使用する出荷機能を備えています。
変数に格納された国コードに基づいて出荷クラスをロードできるように、コードを1つに設計するにはどうすればよいですか?
これは私のサンプルや提案クラスのデザインであると仮定します。
public interface IShip
{
string Ship();
}
public class UPS : IShip
{
public string Ship()
{
}
}
public class FedEX : IShip
{
public string Ship()
{
}
}
public class Purolator : IShip
{
public string Ship()
{
}
}
にはどうすれば変数の値に基づいて、クラスをロードするために団結を使用することができます。
GB
が変数に格納されていて、UPSクラスをロードして船機能を呼び出す場合はどうなりますか?
変数にFR
が格納されていて、UPSクラスをロードして船機能を呼び出したいとしますか?
US
が変数に格納されていて、FedExクラスを読み込み、ship関数を呼び出したいとしますか?
変数にCA
が格納されていて、Purolatorクラスを読み込み、ship関数を呼び出したいとしますか?
あなたはIShipのかかるコードを表示することができますか? –
私の考えからのクラスデザイン。コードが開始されていません。私は実行時に提供された国コードに基づいてクラスを動的にロードする単一性DIを使用する方法を知りたい。 – Thomas
使用インターフェイスでの複数の実装の名前付き登録。同様の[回答はこちら](http://stackoverflow.com/a/23669951/881798)。 – vendettamit