You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity中ReSharper提示SerializeField私有字段可设为readonly的解决办法

解决ReSharper对带[SerializeField]私有字段的「Field can be made readonly」警告

针对这个问题,有三种常用的解决方式:

  • 直接添加readonly修饰符
    Unity允许对带有[SerializeField]的字段使用readonly,只要你不在代码逻辑中修改该字段(仅通过Inspector赋值),就可以安全添加。这样既满足ReSharper的代码规范检查,又不影响Unity的序列化功能。示例代码:

    [SerializeField] private readonly Sprite _sprite = null;
    
  • 修改ReSharper的检查规则
    如果不想逐个字段修改,可以全局禁用针对带[SerializeField]字段的该警告:

    1. 打开ReSharper设置(路径:File → Settings → ReSharper → Options)
    2. 导航到Code Inspection → Inspection Severity
    3. 搜索「Field can be made readonly」规则
    4. 为该规则添加例外条件:当字段带有SerializeField属性时,将警告级别设为「Do not show」
  • 用注释单独抑制警告
    如果你只想针对某个特定字段跳过检查,可以在字段上方添加ReSharper的抑制注释:

    // ReSharper disable once FieldCanBeMadeReadOnly.Local
    [SerializeField] private Sprite _sprite = null;
    

内容的提问来源于stack exchange,提问作者sonnyb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 16:49:58