#pragma warning disable & restore

本文关键字:restore amp warning disable #pragma | 更新日期: 2023-09-27 18:06:39

我使用c#创建了第一个项目。我有许多警告错误和所有这些警告错误是单一的错误(内部编译器错误。有关更多信息,请参阅控制台日志。

为了减少警告错误,我使用了#pragma warning disable。#pragma warning restore问题代码的前后。

我怀疑在我的最终构建中我应该留下#pragma warning disable &恢复程序中的内容;还是需要我把它去掉?例句:

#pragma warning disable
if (Displayer.instance != null && CTR.Tore== "Keepit")
{
    Displayer.instance.SetFielderProfile (i);
}
#pragma warning restore

对于最终构建,我是否需要删除它?

#pragma warning disable & restore

至少您应该明确您故意选择忽略哪些警告。这样,如果以后的维护引入了一个您应该注意的"新"警告/问题,那么关于新引入的错误的警告将不会被您的毛毯pragma warning disable指令抑制。

您可以从Visual Studio的构建输出窗口中获得与您决定忽略的构建问题有关的警告编号。它们通常被贴上"警告CS0168...."或类似的标签。在这种情况下,您可以专门针对那些您决定忽略的错误,如下所示:

#pragma warning disable 168, 3021
    //Your code that generates warnings CS0168 and CS3021 here
#pragma warning restore 168, 3021

如果它是任何实用价值的代码,则不应该有任何警告,并将"warnings as error"设置为打开所有警告。

显示的代码本身似乎没有任何错误。所以我看不出你为什么需要这个pragma。

但这真的是你的调用-你的代码,如果没有人需要使用/查找/支付它-做任何适合你的。

为MSVC和c++改编@Deleted的答案。在Visual Studio 2019中测试。请参阅已删除的c#答案。适合任何在网上搜索后找到这里的人。

在c++代码中禁用警告:

#pragma warning(push)
#pragma warning(disable : 4267 4293)
    // Your code that generates warnings C4267 and C4293 here
#pragma warning(pop)