1つのアプリケーションにクラスがあります-変更できません(レガシー)-アセンブリ(DLLファイル)内にあります:
public class ShippingMethod
{
public string ShipMethodCode { get; set; }
public string ShipMethodName { get; set; }
public decimal ShippingCost { get; set; }
public List<ShippingMethod> GetAllShippingMethods()
{
......
}
}
そのアセンブリ(DLLファイル)を参照している2番目のアプリケーションがあり、ドロップダウンにすべての配送方法を入力する必要があります。例:「UPS-3.25ドル」
問題は、異なる通貨に対して正しいフォーマットを使用する必要があるということです。例:CountryIDと呼ばれるパラメーターに応じて3.25ドルまたは3.25ユーロ。
String DisplayMoney(Decimal Amount, Integer CountryID)
金額の正しい形式を返す関数を作成しました。
次に、この機能をすべての配送方法に適用して、新しいリストに保存する必要があります。これを行うための最良の方法は何ですか?
次のように、LocalizedShippingMethodsという別のクラスを作成できます。
public class LocalizedShippingMethod
{
public ShippingMethod ShipMethod { get; set; }
public string LocalizedShippingCost { get; set; }
}
これはこれを達成するための最良の方法ですか?継承を使用してこれを行うためのより良い方法はありますか?また、継承を使用する場合、最初のリストから新しいリストに値を取得するにはどうすればよいですか?