代码之家  ›  专栏  ›  技术社区  ›  Bjarke Ebert

IntelliSense中的错误-如何向Microsoft报告?

  •  2
  • Bjarke Ebert  · 技术社区  · 16 年前

    我在Visual Studio IntelliSense的存根生成方法中发现了一个错误。

    class A { }
    class B : A
    {
        A a;
        void f() { a.NewMethod(); }
    }
    

    当我在上选择“生成方法存根”时 a.NewMethod() ,我应该得到一个公共方法。相反,IntelliSense混淆了自己,为我创建了一个受保护的方法。

    编译器正确地抱怨对生成的 protected void NewMethod() 在里面 A .

    有没有办法向微软报告? This post 说这是一个不可能完成的任务。

    4 回复  |  直到 16 年前
        1
  •  6
  •   David Schmitt    16 年前

    Microsoft Connect 站点。至少他们在听。当然,可能需要一段时间才能收到答案(或修复)。

        2
  •  3
  •   ChrisLively    16 年前

    每Microsoft的预期行为是

    “基类的受保护成员可在派生类中访问 只有 如果通过派生类类型进行访问。”

    http://msdn.microsoft.com/en-us/library/bcd5672a(VS.71).aspx

    在您的例子中,a.newmethod()生成一个错误,因为a不是从b派生的。这正是您所说的。

    因此,“生成方法存根”命令存在缺陷。

    这就是说,用 Microsoft Connect 用于错误报告。让我知道这个bug是什么,我会在那里投票的。

        3
  •  1
  •   cciotti    16 年前

    假设您的bug是bug,请在相关的microsoft.public新闻组中发布。它们通常反应灵敏。

        4
  •  1
  •   Igal Tabachnik    16 年前

    对不起,你说得对。我刚刚用Resharper的存根生成器尝试了这个方法,它创建了一个公共方法。