0

我有 Reurn 4 个值的 Respone 对象。我需要单独获取特定的一个细节。

 ResponseDTO responseDto = new ResponseDTO();

responseDto.ResponseObject = new
{
    ShippingPackageInfoList = shippingPacakgeInfo,
    IsDifferentLotNumber = diffLotNumber,
    IsDifferentLocation = diffLocation,
    IsPartMappedToTote = partTote != null
};

在这种情况下,我需要单独获取 shippingpackageInfo 列表,并且我需要迭代以访问这些值。

ResponseDTO 类包含:

  public class ResponseDTO
{
    public bool IsSuccess { get; set; }

    public string UserMessage { get; set; }

    public string TechMessage { get; set; }

    public string Status { get; set; }

    public object ResponseObject { get; set; }

    public bool RestrictApproveAction { get; set; }

    public bool IsAlreadyExists { get; set; }
}

我尝试了以下方法,它返回null

IList<ShippingPackageInfoDTO> generatedShippingPackageList = generatedData as IList<ShippingPackageInfoDTO>;
IList generatedShippingPackageList = (IList)generatedData;
IEnumerable e = generatedData as IEnumerable;
IEnumerable<ShippingPackageInfoDTO> generatedShippingPackageList = e.OfType<ShippingPackageInfoDTO>();
4

1 回答 1

0

您正在将该ResponseObject属性设置为匿名对象,因此如果shippingPacakgeInfo您的第一个代码片段中确实是一个,这应该可以工作IList<ShippingPackageInfoDTO>

dynamic responseObject = generatedData.ResponseObject;
IList<ShippingPackageInfoDTO> generatedShippingPackageList = 
    responseObject.ShippingPackageInfoList as IList<ShippingPackageInfoDTO>;
于 2018-12-04T16:08:29.430 回答