我的课定义如下。在不做过多详细说明的情况下,我不希望任何人都能更改此实例化的对象或传递给此类构造函数的对象。
public class ItemDeliveryInfo
{
public ItemDeliveryAudit ItemDeliveryAudit
{
get
{
return this._itemDeliveryAudit;
}
}
public int ItemDeliveryAuditId
{
get
{
return this.ItemDeliveryAudit.ItemDeliveryAuditId;
}
}
public int? DeliveryDriverId
{
get
{
return this.ItemDeliveryAudit.DeliveryDriverId;
}
}
public int DeliveryId
{
get
{
return this.ItemDeliveryAudit.DeliveryId;
}
}
public int StoreId
{
get
{
return this.ItemDeliveryAudit.StoreId;
}
}
private ItemDeliveryAudit _itemDeliveryAudit;
private bool _isItemLate;
private bool _isItemOnTime;
internal ItemDeliveryInfo(ItemDeliveryAudit itemDeliveryAudit, bool itemLate, bool itemOnTime)
{
this._itemDeliveryAudit = drAssignedAudit;
this._isItemLate = itemLate;
this._isItemOnTime = itemOnTime;
}
public bool IsItemLate()
{
return this._isItemLate;
}
public bool IsItemOnTime()
{
return this._isItemOnTime;
}
}
当前,构造函数可用于创建单个ItemDeliveryInfo对象,并成功返回我想要的对象...
ItemDeliveryInfo infoObject = new ItemDeliveryInfo(itemAudit, true, false);
但是,我不能全力以赴地拥有一个将按以下方式执行的构造函数...
List<ItemDeliveryAudits> itemDeliveryAudits = // code to populate list to pass to the ctor;
List<ItemDeliveryInfo> itemDeliveryInfos = new ItemDeliveryInfo(itemDeliveryAudits, true, false);
我假设我将不得不创建另一个重载的构造函数来处理此问题,但是我对如何完成此工作感到茫然。任何帮助或指导将不胜感激。
只需使用LINQ和当前的ctor:
List<ItemDeliveryInfo> itemDeliveryInfos =
itemDeliveryAudits.Select(i => new ItemDeliveryInfo(i, true, false)).ToList();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句