C# 可观测集合中的每个错误

C# 可观测集合中的每个错误,c#,visual-studio,foreach,win-universal-app,observablecollection,C#,Visual Studio,Foreach,Win Universal App,Observablecollection,我在observablecollection中对ForEach的有问题。Visual Studio告诉我: “ObservaleCollection”不包含“ForEach”定义,并且在接受第一个“ObservaleCollection”类型参数的“ForEach”扩展方法中找不到。可能缺少使用或引用程序集的指令。” 问题是,在另一个项目中类似的代码可以正常工作,但在这个新项目中却不行。我错在哪里 多谢各位 using System; using System.Collections.Gener

我在observablecollection中对ForEach的有问题。Visual Studio告诉我:

“ObservaleCollection”不包含“ForEach”定义,并且在接受第一个“ObservaleCollection”类型参数的“ForEach”扩展方法中找不到。可能缺少使用或引用程序集的指令。”

问题是,在另一个项目中类似的代码可以正常工作,但在这个新项目中却不行。我错在哪里

多谢各位

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ProvaBindingXaml
{
   /* public class Impiegato
    {

        public string Nome { get; set; }
        public string Cognome { get; set; }
        public string Matricola { get; set; }

    }
    */

    public class Rule
    {
        public string Ruolo { get; set; }

        public Rule(string ruolo)
        {
            this.Ruolo = ruolo;
        }

        public override string ToString()
        {
            return this.Ruolo;
        }

        public static ObservableCollection<Rule> GetAllRules()
        {
            var CollectionRuoli = new ObservableCollection<Rule>();
            CollectionRuoli.Add(new Rule ("Impiegato"));
            CollectionRuoli.Add(new Rule ("Dirigente"));
            CollectionRuoli.Add(new Rule ("Operaio"));
            CollectionRuoli.Add(new Rule ("Manutentore"));
            CollectionRuoli.Add(new Rule ("Presidente"));
            return CollectionRuoli;

        }


        public static void GetComboBoxList(ObservableCollection<Rule> RuleItems)
        {
            var allItems = GetAllRules();
            RuleItems.Clear();
            allItems.ForEach(p => RuleItems.Add(p));
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Collections.ObjectModel;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
命名空间ProvaBindingXaml
{
/*公共级Impiegato
{
公共字符串Nome{get;set;}
公共字符串Cognome{get;set;}
公共字符串矩阵{get;set;}
}
*/
公共阶级规则
{
公共字符串Ruolo{get;set;}
公共规则(字符串ruolo)
{
这个.Ruolo=Ruolo;
}
公共重写字符串ToString()
{
把这个还给我;
}
公共静态ObservableCollection GetAllRules()
{
var CollectionRuoli=新的ObservableCollection();
CollectionRuoli.Add(新规则(“Impiegato”);
CollectionRuoli.Add(新规则(“目录”);
集合规则添加(新规则(“操作”);
CollectionRuoli.Add(新规则(“Manutentore”);
集合规则添加(新规则(“主席”);
回收鲁奥利;
}
公共静态void GetComboxList(ObservableCollection规则项)
{
var allItems=GetAllRules();
RuleItems.Clear();
allItems.ForEach(p=>RuleItems.Add(p));
}
}
}

ObservableCollection
没有ForEach方法

我怀疑你可能在想
List
,但是
List
是另一种类型


< P> >在使用<代码>前缀之前,我会考虑使用< <代码>前缀>或代码> Toistist<代码> .<代码> > 我怀疑你可能在想
List
,但是
List
是另一种类型


我会考虑在使用<代码>前缀之前使用一个<代码> Furace循环,或者调用<代码> Toistist。也许帮助:也许帮助:好,但是为什么这个代码在另一个项目中起作用?在另一个项目中,转到

ForEach
行,然后右键单击
转到实现。我猜有人在那里写了一个扩展方法,但是你需要检查并向我们确认。是的:这里有一个代码
namespace WinRTXamlToolkit.Tools{public static class EnumerableExtensions{public static void ForEach(这个IEnumerable list,Action Action);public static list Shuffle(这个IEnumerable list)}
哦,我想我明白了!!!谢谢你,这就是为什么它在那里有效,而不是在你的。同时检查一下我和Felipe在你的原始帖子中提供的链接。好吧,但是为什么这段代码在另一个项目中有效呢?在另一个项目中,转到
ForEach
行,然后右键单击
转到实现。我猜有人在那里写了一个扩展方法,但是你需要检查并向我们确认。是的:这里有一个代码
namespace WinRTXamlToolkit.Tools{public static class EnumerableExtensions{public static void ForEach(这个IEnumerable list,Action Action);public static list Shuffle(这个IEnumerable list)}
哦,我想我明白了!!!谢谢你,这就是为什么它在那里有效,而不是在你的。同时检查我和Felipe在你的原始帖子中提供的链接。