错误CS1061:' ICollection<>'不包含' SelectMany'的定义并且没有任何扩展方法' SelectMany'接受类型' ICollection<>'的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)
Visual Studio 2015支持在即时窗口中以调试模式评估linq lambda表达式。我已经使用控制台应用程序对其进行了测试,其中我提取Process.GetProcesses()
,转到即时窗口并开始在其上写.Select
或.Where
。它工作正常。
但是,我无法在我的项目中做同样的事情。
My Breakpoint就在这一行:
return Dimensions.Values.SelectMany(dimension => dimension.Attributes)
.FirstOrDefault(dimensionAttribute => key.Equals(dimensionAttribute.Key));
执行F10工作。但是,当我尝试在部分中运行相同的表达式时,在即时窗口Dimensions.Values.SelectMany(dimension => dimension.Attributes)
中,我得到上述错误。
我是否试图以不正确的方式评估此问题?我错过了什么?
答案 0 :(得分:0)
我不能告诉你为什么会发生这种情况(我有与立即窗口类似的问题),但我发现你可以通过静态类访问调用扩展方法。在你的情况下:
Enumerable.FirstOrDefault(Enumerable.SelectMany(Dimensions.Values, dimension => dimension.Attributes),dimensionAttribute => key.Equals(dimensionAttribute.Key));