私はこのような特定のオブジェクト、 から日の名を抽出する方法があります:ジェネリックメソッドを作る
private string ExtractWeekDayNames(FiscalReceipt fiscalReceipt)
{
string retVal = "";
Dictionary<string, bool> WeekDays =
new Dictionary<string, bool>() {
{ "Sun", fiscalReceipt.Sunday },
{ "Mon", fiscalReceipt.Monday },
{ "Tue", fiscalReceipt.Tuesday },
{ "Wed", fiscalReceipt.Wednesday },
{ "Thu", fiscalReceipt.Thursday },
{ "Fri", fiscalReceipt.Friday },
{ "Sat", fiscalReceipt.Saturday }
};
//Find week days
foreach (var item in WeekDays)
{
if (item.Value == true)
retVal += item.Key + ",";
}
if (!string.IsNullOrEmpty(retVal))
retVal = retVal.Substring(0, retVal.Length - 1);
return retVal;
}
は私も同じ操作 を行い、同様の方法を持っていますが、パラメータの異なるタイプを有します、のように:
private string ExtractWeekDayNames(NonFiscalReceipt nonFiscalReceipt)
{
...
}
またNonFiscalReceiptは性質日曜日、月曜日、など
私はどのように置き換えることができますがありますこれらの2つの方法だけで1つ?
financialrecipentとnonfiscalreceiptは同じタイプの基本クラスから派生していますか?もしそうなら、引数を基本クラスとして取ることができます。 – JonH
これを短縮すると、 'return string.Join("、 "WeekDays.Where(kvp => kvp.Value).Select(kvp => kvp.Key)); ' – juharr
を返すことができます。曜日のプロパティを持つインターフェイスを作成し、両方のクラスで実装できるようにします。次に、現在のクラスの代わりにメソッドにインターフェイスを渡すことができます。 – Philippe