栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

禁止在C#中使用“从不使用”和“从不分配给”警告

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

禁止在C#中使用“从不使用”和“从不分配给”警告

是的,这些可以被抑制。

通常,我反对抑制警告,但是在这种情况下,用于互操作的结构绝对需要存在一些字段,即使您从未打算(或可以)使用它们,因此在这种情况下,我认为这应该是有道理的。

通常,要禁止这两个警告,您将修复有问题的代码。第一个(“ …永不使用”)通常是早期版本代码遗留下来的代码气味。也许代码已删除,但字段留在后面。

第二个通常是针对错误使用字段的代码气味。例如,您可能会错误地将属性的新值写回到属性本身,而不要写入后备字段。


要禁止显示“ 从不使用字段XYZ ”的警告,请执行以下操作:

#pragma warning disable 0169... field declaration#pragma warning restore 0169

要取消警告“ 字段XYZ从未分配给它,并且将始终具有其默认值XX ”,请执行以下操作:

#pragma warning disable 0649... field declaration#pragma warning restore 0649

要自己找到此类警告编号(即,我怎么知道使用0169和0649),请执行以下操作:

  • 正常编译代码,这会将一些警告添加到Visual Studio中的错误列表中
  • 切换到“输出”窗口和“生成”输出,并寻找相同的警告
  • 从相关消息中复制4位数的警告代码,该代码应如下所示:

C: Dev VS.NET ConsoleApplication19 ConsoleApplication19
Program.cs(10,28):警告CS 0649
:从未将字段’ConsoleApplication19.Program.dwReserved’分配给该字段,并且其默认值始终为0


警告 :根据@Jon Hanna的评论,可能为此发出了一些警告,以供将来查找此问题和答案的人使用。

  • 首先,也是最重要的是,抑制警告的行为类似于吞咽头痛药。当然,有时候这样做是正确的事,但这不是万能的解决方案。有时,头痛是您不应该掩盖的真实症状,与警告相同。始终最好尝试通过修正警告原因来处理警告,而不是仅仅从构建输出中盲目删除警告。
  • 话虽如此,如果您需要取消警告,请遵循我上面列出的模式。第一行代码
    #pragma warning disable XYZK
    禁用该 文件其余部分 的警告,或者至少直到
    #pragma warning restore XYZK
    找到相应的警告为止。最小化您禁用这些警告的行数。上面的模式仅对一行禁用警告。
  • 而且,正如乔恩(Jon)所提到的,评论为什么这样做是一个好主意。禁用警告绝对是毫无道理的代码气味,而注释将阻止将来的维护人员花时间去想为什么这样做,或者甚至删除它并尝试修复警告。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/483997.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号