私の下のコードは正常に動作しますが、移植性を向上させたいと思います。 priceLevels
のインデックス番号は変更される可能性があるので、プログラムを更新する必要はなく、これらのインデックス番号を設定するための設定オプションが必要です。インデックス値の列挙型ではなく、代替オブジェクト
また、PriceLevel
クラスのToString()
メソッドを制御できるようにしたいと考えています。
public enum priceLevels
{
SELECT = 2,
PLUS = 3,
PREMIER = 3,
EFI = 4,
MSELECT = 5,
SPECIAL = 6
}
class PriceLevel
{
public priceLevels priceLevel { get; set; }
public override string ToString()
{
string myString = "No Level Set";
if (priceLevel == priceLevels.SELECT) return "Partner-Select";
if (priceLevel == priceLevels.PLUS) return "Plus/Premier";
if (priceLevel == priceLevels.PREMIER) return "Plus/Premier";
if (priceLevel == priceLevels.EFI) return "eFi Plus-SPA";
if (priceLevel == priceLevels.MSELECT) return "mSelect";
if (priceLevel == priceLevels.SPECIAL) return "Special";
return myString;
}
}
誰もが私の代替物を提案することができるだろう -
if(someOtherVariable == thisCustomer.priceLevel) //do some stuff
someString = thisCustomer.priceLevel.ToString()
:私の使用法のようなものになるだろうので
PriceLevel
クラスは、私のCustomers
クラスの一部になりますpriceLevels
列挙型の代わりに使用できますか?
おかげで、私は 'どこか他のPriceLevel'必要はないと思うので、私はそれを追加するために、最も理にかなっていると思います私のクラスにプロパティ。私が列挙型のインデックスを変更できるようにするためには、デフォルト値を持つ配列に対応させるために使用すると思います。次に、設定ファイルを持つことができます。配列の値を変更します。 – Adjit