Linq扩展方法在Visual Studio 2015即时窗口中不可用
本文关键字:窗口 2015 方法 扩展 Visual Studio Linq | 更新日期: 2023-09-27 18:12:58
错误CS1061:'ICollection<>'不包含"SelectMany"的定义,也不包含接受类型为"ICollection<>"的第一个参数的扩展方法"SelectMani"可以找到(您是否缺少使用指令或程序集引用?(
Visual Studio 2015支持在调试模式下在即时窗口中评估linq lambda表达式。我已经用控制台应用程序测试了它,在控制台应用程序中,我获取Process.GetProcesses()
,转到即时窗口并开始在上面写入.Select
或.Where
。它工作得很好。
然而,我在我的项目中无法做到这一点。
我的断点在这条线上:
return Dimensions.Values.SelectMany(dimension => dimension.Attributes)
.FirstOrDefault(dimensionAttribute => key.Equals(dimensionAttribute.Key));
执行F10操作。然而,当我尝试在即时窗口(即Dimensions.Values.SelectMany(dimension => dimension.Attributes)
(中分部分运行相同的表达式时,我会出现上述错误。
我是否试图以错误的方式对此进行评估?我错过了什么?
我无法告诉您发生这种情况的原因(我在即时窗口中也有类似的问题(,但我发现您可以通过静态类访问来调用扩展方法。在你的情况下,这将是:
Enumerable.FirstOrDefault(Enumerable.SelectMany(Dimensions.Values, dimension => dimension.Attributes),dimensionAttribute => key.Equals(dimensionAttribute.Key));