将对象转换为C#类

时间:2018-02-27 10:29:31

标签: c# xamarin.forms

我正在尝试将一个对象强制转换为一个模型类,但它在第二行引发了一个错误。

代码:

StoreToStoreRequestModel x = (StoreToStoreRequestModel)temp;
StoreToStoreRequestDetailsModel y = x.details;

型号:

public class StoreToStoreRequestModel
{
    public int id { get; set; }
    public string documentNo { get; set; }
    public List<StoreToStoreRequestDetailsModel> details { get; set; }
}

我需要通过StoreToStoreRequestModel访问StoreToStoreRequestDetailsModel的属性,因为它是一个子类。

错误消息是:

  

Cannot implicitly convert type 'System.Collections.Generic.List<StoreToStoreRequestDetailsModel>' to 'StoreToStoreRequestDetailsModel'

1 个答案:

答案 0 :(得分:3)

这是因为detailsList<T>,它与StoreToStoreRequestDetailsModel的单个实例不同。

所以你应该这样做:

List<StoreToStoreRequestDetailsModel> y = x.details;

如果你想访问该列表中的特定项目,那么你应该遍历它们并找到你想要的那个。或者使用索引或其他获取特定项目的方法。

例如,您可以得到的第一项:

StoreToStoreRequestDetailsModel first = x.details[0];

虽然我建议您确认首先确保有任何项目。