Ho 2 istruzioni linq - attualmente nel mezzo di un blocco di commutazione. Le dichiarazioni sono sotto.È possibile fare un metodo generico con queste due istruzioni linq?
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();
Come si può vedere l'unica differenza è che si riferiscono a due diverse proprietà di "creditore", tuttavia, tutti gli elementi utilizzati nella query LINQ sono identici a "ApplicationWindows" e "TransferWindows", pur non sono gli stessi oggetti e ognuno contiene altre proprietà uniche.
Quindi, è possibile restituire w.StartDate tramite un metodo generico?
Grazie in anticipo.
// Ecco le 2 classi
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); }
}
}
Quali sono i tipi di 'lender.ApplicationWindows' e' lender.TransferWindows'? –
Do ApplicationWindows e TransferWindows implementano un'interfaccia comune contenente i campi che si stanno utilizzando all'interno di LINQ? – Satal
@AntP - Ho aggiunto le 2 classi – dotnetnoob