在Visual Basic编辑器中阻止(...)自动完成

Hei*_*nzi 5 vb.net visual-studio-2015

Repro:

  1. 启动VS 2015
  2. 创建一个新的VB.NET控制台应用程序
  3. 开始在Sub Main()中输入:

    Dim s = {"a", "b"}
    s.Se
    
    Run Code Online (Sandbox Code Playgroud)
  4. 观察到Visual Studio有助于提供Select扩展方法:

截图

  1. 点击(自动完成并开始为方法提供参数.

实际结果:s.Select(Of …)()

期望的结果:s.Select()

我不想要这个(Of …)部分,因为在99%的情况下,类型推断在没有它的情况下完全正常工作并且它使我的代码混乱.有没有办法告诉自动完成不要这样做?

注意:显然,此"问题"仅影响Enumerable.Select(Of T)Enumerable.SelectMany(Of T)扩展方法.Enumerable.Cast(Of T)和自定义Select(Of T)扩展方法工作正常(否(Of …)).

小智 -1

Visual Studio 中的智能感知根据数据类型选择自动完成功能。

下面的声明将 s 声明为一个对象。

Dim s = {"a", "b"}
Run Code Online (Sandbox Code Playgroud)

这就是智能感知列表显示与对象相关的功能的原因。如下所示声明 s 以获得正确的列表。

Dim s As string = {"a", "b"}
Run Code Online (Sandbox Code Playgroud)