阻止ObsoleteAttribute警告冒泡调用堆栈

时间:2015-05-01 10:30:41

标签: c# visual-studio warnings compiler-warnings suppress-warnings

我有一个使用不推荐使用的程序集(service httpd restart )的类。在编译时,这会产生一条消息System.Data.OracleClient 我们无法替换此程序集,现在我们正在尝试删除编译时生成的所有警告,以便我们可以清楚地看到新的警告。

看起来每当我尝试使用'MethodName()' is obsolete: 'OracleConnection has been deprecated.来抑制警告时,警告只会被向上推到堆栈到调用方法。

在下面的示例类中,只有方法[System.ObsoleteAttribute("OracleConnection has been deprecated. http://go.microsoft.com/fwlink/?LinkID=144260", false)]使用不推荐使用的程序集,但我在方法E()中收到警告,因为它是堆栈中没有A()的最高方法。如果我从ObsoleteAttribute删除该属性,则警告会从堆栈中下移到C()

C()

在我的应用程序中,这将导致我必须使用此属性装饰方法一直到UI,这似乎毫无意义。

我可以绕过这个,这样我只能在调用程序集的方法中禁止警告吗?

由于

1 个答案:

答案 0 :(得分:3)

  

我可以绕过这个,这样我只能在调用程序集的方法中禁止警告吗?

是 - 使用正常的方法来抑制C#中的警告 - 使用groupedItems

以下是一个例子:

#pragma warning disable