关于GetEnumerator的问题

错误1“NewsReader.FeedItem”不包含“GetEnumerator”的公共定义,因此foreach语句不能作用于“NewsReader.FeedItem”... 错误 1 “NewsReader.FeedItem”不包含“GetEnumerator”的公共定义,因此 foreach 语句不能作用于“NewsReader.FeedItem”类型的变量 H:\Users\er-huo\Documents\Visual Studio 2012\Projects\NewsReader\XinHuaNews\SearchResultsPage.xaml.cs 75 13 NewsReader
这是部分代码。。。 这是我做win8 应用 添加搜索功能时出现的错误,有人能解决么
var groups = FeedDataSource.GetItem("Feeds");

string query = queryText.ToLower();
var all = new List<FeedItem>();
_results.Add("All", all);

foreach (var group in groups)
{
var items = new List<FeedItem>();
_results.Add(group.Title, items);

foreach (var item in group.Items)
{
if (item.Title.ToLower().Contains(query) || item.Directions.ToLower().Contains(query))
{
all.Add(item);
items.Add(item);
}
}

filterList.Add(new Filter(group.Title, items.Count, false));
}

filterList[0].Count = all.Count;
展开
 我来答
kingboyf4
2013-09-09 · TA获得超过283个赞
知道小有建树答主
回答量:201
采纳率:100%
帮助的人:238万
展开全部
要使用foreach必须实现接口IEnumerator或定义GetEnumerator方法。
所以你看下你的NewsReader.FeedItem类,有没有继承IEnumerator接口?没有的话就不能用foreach了,你可以实现这个接口,也可以用for(int i=0){}替代
追问
那在FeedItem类中具体怎么继承呢?
追答
class FindItem : IEnumerable
{
    string[] values = new string[50];
    public IEnumerator GetEnumerator()
    {
        foreach (string s in values)
        {
            yield return s;
        }
    }
}

上面只是个例子,你也可以写成泛型的。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式