关于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; 展开
这是部分代码。。。 这是我做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; 展开
1个回答
展开全部
要使用foreach必须实现接口IEnumerator或定义GetEnumerator方法。
所以你看下你的NewsReader.FeedItem类,有没有继承IEnumerator接口?没有的话就不能用foreach了,你可以实现这个接口,也可以用for(int i=0){}替代
所以你看下你的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;
}
}
}
上面只是个例子,你也可以写成泛型的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询