不明白"不包含' GetEnumerator'“"

时间:2014-12-03 15:16:55

标签: c# class

我不明白我是如何解决这个问题的。我有两个foreach循环:

foreach (deviceDetailsModel.Detail d in ddm.device.details)
{
    foreach (deviceDetailsModel.Entry e in d)
    {
        //TODO
    }
}

在第二个for循环中我得到does not contain a public definition for 'GetEnumerator'错误。我做错了什么?

这是班级:

public class deviceDetailsModel
{
    public int totalCount { get; set; }
    public string messages { get; set; }
    public Device device { get; set; }

    public class Entry
    {
        public string key { get; set; }
        public object value { get; set; }
    }

    public class Detail
    {
        public List<Entry> entry { get; set; }
    }

    public class Device
    {
        public string @id { get; set; }
        public string uuid { get; set; }
        public string principal { get; set; }
        public int blockReason { get; set; }
        public int clientId { get; set; }
        public string comment { get; set; }
        public int compliance { get; set; }
        public int countryCode { get; set; }
        public int countryId { get; set; }
        public string countryName { get; set; }
        public string createdAt { get; set; }
        public string currentPhoneNumber { get; set; }
        public List<Detail> details { get; set; }
    }
}

1 个答案:

答案 0 :(得分:9)

我认为你的意思是:

deviceDetailsModel.Entry e in d.entry

代替。

您收到错误是因为d(可能是Detail类的一个实例)没有实现IEnumerable。您可能想要枚举entry属性。