在Visual Studio中不起作用的扩展方法(立即/观察窗口)

时间:2015-05-10 10:20:34

标签: visual-studio extension-methods watch-window

当我尝试在立即或观察窗口中使用扩展方法时,我收到以下错误:

  

{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>

还能做些什么?

1 个答案:

答案 0 :(得分:0)

在任何未导入 System.Linq 的上下文中,您都可以将扩展方法作为普通静态方法调用。例如,以下在 QuickWatch 窗口中对我不起作用(其中 actualVariables 是一个列表):

actualVariables.Select(actualVariables,x=>x.Identity.DisplayName)

把它改成这个形式就可以了:

System.Linq.Enumerable.Select(actualVariables,x=>x.Identity.DisplayName)