我在下面的代码中使用简单的属性初始化对象,但随后在其他地方进行了重构,使得 DispatchedDocumentDate 变为 DispatchedPhase.DocumentDate。我这样做是因为也有销售和挑选的课程使用完全相同的属性。
所以现在在一个引用程序集中我有这个不能编译的代码:
public List<ItemMovementEntry> FillItemDispatchMovements(IEntityDateRange imqp)
{
var f = from detail in this.Context.DispatchDetails
join header in this.Context.Dispatches on detail.ClientOrderNumber equals header.ClientOrderNumber
where (detail.ProductCode == imqp.ItemKey)
&& (header.DateOrdered >= imqp.StartDate)
&& (header.DateOrdered <= imqp.EndDate)
orderby header.DateOrdered descending
select new ItemMovementEntry(ItemMovementEntryKind.Dispatch)
{
DispatchedPhase.DocumentDate = ((header.DateOrdered.HasValue) ? header.DateOrdered.Value : new DateTime(1900, 1, 1)),
DispatchedPhase.DocumentLKey = header.ClientOrderNumber,
MaterialItemLkey = detail.ProductCode,
DispatchedPhase.MovementDeltaQty = ((detail.QuantityDelivered.HasValue) ? (-1) * detail.QuantityDelivered.Value : 0),
DispatchedPhase.Comment = string.Empty,
JournalType = "DISPATCHED",
};
return f.ToList<ItemMovementEntry>();
}
我得到一个:
初始化器成员声明器无效
错误信息。
希望意图很明确,但我不确定如何重写。我用谷歌搜索了一些关于 Let 的信息,但仍然不清楚。