如何从具有 4 个项目的响应对象中获取特定项目?

How to get a particular item from Response Object havig 4 Items?

我有返回 4 的 Respone 对象 values.I 需要单独获取特定的一个细节。

 ResponseDTO responseDto = new ResponseDTO();

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

在此,我需要单独获取 shippingpackageInfo,即 List,我需要迭代以访问这些值。

ResponseDTO class 包含:

  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; }
}

我尝试了以下方法,它 returns 无效

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

您正在将 ResponseObject 属性 设置为匿名对象,因此只要第一个代码片段中的 shippingPacakgeInfo 确实是 IList<ShippingPackageInfoDTO>:

dynamic responseObject = generatedData.ResponseObject;
IList<ShippingPackageInfoDTO> generatedShippingPackageList = 
    responseObject.ShippingPackageInfoList as IList<ShippingPackageInfoDTO>;