gpt4 book ai didi

c# - 添加自定义属性时如何删除 CS0649 编译器警告?

转载 作者:行者123 更新时间:2023-11-30 12:38:17 24 4
gpt4 key购买 nike

目标:在我使用自定义属性时删除编译器警告“CS0649”(字段从未分配给)。

我有一个自定义属性(下面的代码只是示例):

[AttributeUsage(AttributeTargets.Field)]
public class MyCustomAttribute : Attribute { }

然后我在字段上使用该属性:

[MyCustom]
private readonly SomeType someType;

我的应用程序将自动为 someType 填充一个值,因此我们无需担心初始化它。

我仍然会在 Visual Studio 中的 someType 下看到一条波浪线,并且警告消息“Field “someType” is never assigned to, and will always have its default value null.”

是否有我可以添加到 MyCustomAttribute 的属性或其他方式来删除此编译器警告?

注意:我不想修改字段或进一步键入字段。我只是想添加属性,然后警告消失。

最佳答案

只有两种方法可以消除警告:

  1. 使用#pragma warning disable/restore,或者
  2. 在项目属性 -> 构建 -> 中抑制整个项目的警告,并将警告编号放在“抑制警告”中。

但仅此而已。

但这就是为什么它是警告而不是错误的原因。那里有警告标记可疑的东西,但很可能是合法的。从未在类本身中设置的字段是可疑的,但不一定是错误。

#pragma 指令是摆脱它们的最佳方式,因为它明确表明您已确认警告并认为它没有根据。

关于c# - 添加自定义属性时如何删除 CS0649 编译器警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53730576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com