我可以使属性抑制警告吗?
Posted
技术标签:
【中文标题】我可以使属性抑制警告吗?【英文标题】:Can I make an attribute suppress warnings? 【发布时间】:2020-07-31 19:09:50 【问题描述】:我已经创建了一个属性,可以在运行时自动为变量赋值:
[Assign(AssignmentTime.Awake)]
private Rigidbody _rigidBody;
但是,编译器发出警告,这是可以理解的,这个值永远不会被分配,并且永远是空的。 有没有办法让属性自动禁用警告?我真的不想每次我想使用那个属性时都写那个警告抑制#pragma。
【问题讨论】:
【参考方案1】:您可以指定一个默认值,例如null
。这将使警告消失。您的分配以及检查员分配稍后将覆盖默认值。
[Assign(AssignmentTime.Awake)]
private Rigidbody _rigidBody = null;
【讨论】:
我不敢相信这真的有效。它仍然在 IDE 中强调它,但 Unity 不再将其显示为警告。不理想,但会做。谢谢! 是的,警告在 ide 或统一控制台中。我更喜欢统一控制台尽可能免费。【参考方案2】:明确地说:不,您不能通过自定义属性抑制警告。您可以使用:
[SuppressMessage(...)]
除了你的属性
#pragma warning disable|enable codes
这两者都可以通过 IDE 中的警告弹出窗口获得
【讨论】:
以上是关于我可以使属性抑制警告吗?的主要内容,如果未能解决你的问题,请参考以下文章