私は次のコードを持っています、そしてコードの重複を避けようとしています 私がしたいのは「SelectGrouped」と呼ばれるカスタム拡張メソッドを持っていることです
これは「Shift」オブジェクトを受け入れ、匿名タイプを返します(可能かどうかはわかりません)
var groupedFillingsCurrentShift = currentShift.FilingMeasurements
.Where(f => TimeSpan.Parse(f.MeasurementTime.MeasurementTime) == ShiftEnd)
.GroupBy(f => new { f.Medium, f.MeasurementTime })
.Select(t => new { t.Key.Medium, t.Key.MeasurementTime, VolumeInTanks = t.Sum(s => s.Filing) })
.ToList();
if (previousShift != null)
{
var groupedFillingsPreviousShift = previousShift.FilingMeasurements
.Where(f => TimeSpan.Parse(f.MeasurementTime.MeasurementTime) == previousShift.ShiftEnd)
.GroupBy(f => new { f.Medium, f.MeasurementTime })
.Select(t => new { t.Key.Medium, t.Key.MeasurementTime, VolumeInTanks = t.Sum(s => s.Filing) })
.ToList();
私が達成したいのは、そのように見えるようにすることです
var groupedResultCurrentShift =
currentShift.SelectGrouped(t=>t.Medium, t.MeasurementTime, t.VolumenInTanks);
var groupedResultPreviousShift =
previousShift.SelectGrouped(t=>t.Medium, t.MeasurementTime, t.VolumenInTanks);