我有一个使用不推荐使用的程序集(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,这似乎毫无意义。
我可以绕过这个,这样我只能在调用程序集的方法中禁止警告吗?
由于
答案 0 :(得分:3)
我可以绕过这个,这样我只能在调用程序集的方法中禁止警告吗?
是 - 使用正常的方法来抑制C#中的警告 - 使用groupedItems
。
以下是一个例子:
#pragma warning disable