当我尝试在立即或观察窗口中使用扩展方法时,我收到以下错误:
{method}不是{class}
的成员
我使用的是Visual Studio Community 2013 Update 4,但这个问题存在于多台PC上,运行不同版本的Visual Studio 2013和2015。
扩展方法是来自.NET BCL,还是在我们的项目中定义没有区别。代码本身编译并成功运行;这个问题只存在于立即和观察中。
我尝试将所有项目设置为框架4.5.1,并使用x86配置,没有结果。
在代码文件的开头添加Imports System.Linq
没有任何区别(这是有道理的,因为System.Linq
已经全局导入(项目属性 - >引用 - >导入的命名空间)。 / p>
还能做些什么?
答案 0 :(得分:0)
在任何未导入 System.Linq 的上下文中,您都可以将扩展方法作为普通静态方法调用。例如,以下在 QuickWatch 窗口中对我不起作用(其中 actualVariables 是一个列表):
actualVariables.Select(actualVariables,x=>x.Identity.DisplayName)
把它改成这个形式就可以了:
System.Linq.Enumerable.Select(actualVariables,x=>x.Identity.DisplayName)