1

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

{method} 不是 {class} 的成员

我正在使用 Visual Studio Community 2013 Update 4,但这里的多台 PC 上存在问题,运行不同版本的 Visual Studio 2013 和 2015。

扩展方法是来自 .NET BCL,还是在我们的项目中定义,都没有区别。代码本身编译运行成功;问题仅在“立即”和“观察”中。

我尝试将所有项目设置为框架 4.5.1,并使用 x86 配置,但没有结果。

在代码文件的开头添加Imports System.Linq没有任何区别(这是有道理的,因为System.Linq已经全局导入(项目属性 -> 引用 -> 导入的命名空间))。

还有什么可以做的?

4

1 回答 1

0

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

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

将其更改为这种形式,然后它可以工作:

System.Linq.Enumerable.Select(actualVariables,x=>x.Identity.DisplayName)
于 2021-07-27T21:15:28.527 回答