如何在VS2005(VB.Net)中禁止特定功能的编译器警告

Sea*_*ugh 6 vb.net compiler-construction visual-studio-2005

我有一个继承自基类的类,并实现以下...

    Public Function CompareTo(ByVal obj As Object) As Integer Implements System.IComparable.CompareTo
Run Code Online (Sandbox Code Playgroud)

现在它继承的基类也实现了这个System.IComparable.CompareTo所以我得到以下编译器警告:

警告:'System.IComparable.CompareTo'已由基类实现.重新实现假定的功能.

我很好,所以我的问题是我怎么能只为这个功能压制这个警告(即不是所有这些警告).

澄清:

  • 这是MSDN上的错误的链接.
  • 我已经尝试了Shadows和Overrides,但都没有消除警告.
  • 警告不在方法本身上(除非省略Shadows或Overrides),而是专门用于"Implements System.IComparable.CompareTo".
  • 我不打算压制这种类型的所有警告(如果它们突然出现),只是这一个.

解决方案:
我希望使用System.Diagnostics.CodeAnalysis.SuppressMessage属性或类似C#的#pragma,但看起来没有办法抑制单行警告.有一种方法可以为此项目关闭此消息,但不会关闭所有警告.

我手动编辑了.vbproj文件,并在节点中包含42015用于调试和发布编译.不理想但比总是在IDE中看到警告更好.

如果有人有更好的解决方案,请添加它,我很乐意尝试标记答案.

小智 9

仅在基类中使用"Implements":

基类签名:

Public Overridable Function CompareTo(ByVal obj As Object) As Integer Implements System.IComparable.CompareTo
Run Code Online (Sandbox Code Playgroud)

继承类中的签名:

Public Overrides Function CompareTo(ByVal obj As Object) As Integer
Run Code Online (Sandbox Code Playgroud)