私は2つのlinq文を持っています - 現在スイッチブロックの真ん中にあります。ステートメントは以下の通りです。これらの2つのlinq文から1つの汎用メソッドを作ることはできますか?
pwStartTime = lender.ApplicationWindows
.Where(w => w.Name == pwPeriod && w.EndTime.TimeOfDay > dateToCheck.TimeOfDay)
.Select(w => w.StartTime)
.FirstOrDefault();
pwStartTime = lender.TransferWindows
.Where(w => w.Name == pwPeriod && w.EndTime.TimeOfDay > dateToCheck.TimeOfDay)
.Select(w => w.StartTime)
.FirstOrDefault();
あなたが唯一の違いは、彼らがしかし、LINQクエリで使用されるすべての要素は、「ApplicationWindows」と「TransferWindows」で同一であり、彼らは「貸し手」の2つの異なる特性を参照していることである見ることができるように同じオブジェクトではなく、それぞれに他の固有のプロパティが含まれています。
したがって、w.StartDateを1つの汎用メソッドで返すことは可能ですか?
ありがとうございます。
//ここでは2クラス
public class ApplicationWindow
{
public string Name { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
}
public class TransferWindow
{
public string Name { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
[XmlIgnore]
public TimeSpan Cycle { get; set; }
[Browsable(false)]
[XmlElement("Cycle")]
public string CycleString
{
get { return XmlConvert.ToString(Cycle); }
set { Cycle = value.IsNullOrEmpty() ? TimeSpan.Zero : XmlConvert.ToTimeSpan(value); }
}
}
'lender.ApplicationWindows'と' lender.TransferWindows'の種類は何ですか? –
ApplicationWindowsとTransferWindowsは、LINQ内で使用しているフィールドを含む共通のインターフェイスを実装していますか? – Satal
@AntP - 私は2つのクラスを追加しました – dotnetnoob