ReSharper 2026.1 Help

代码检查:冗余的属性使用(冗余的 'FormerlySerializedAs' 属性)

[FormerlySerializedAs] 属性用于通知 Unity 某字段以前用不同名称进行序列化,便于进行版本管理和重命名代码。

此检查会高亮显示属性的冗余用法,并提供快速修复以移除冗余属性。 如果出现以下情况,则属性的使用被视为冗余:

  • 它被应用于未序列化的字段。 这可能是因为该字段声明于非 Unity 类型(如不继承自 MonoBehaviour ),或该字段未被序列化(如 private 或使用 [NonSerialized] 标记)。

  • 属性参数中指定的旧名称与字段的当前名称相同。 例如。

    // Marked as redundant as the names are the same [FormerlySerializedAs("position")] public int position;

请参阅 FormerlySerializedAsAttribute 的文档,以及 Unity 官方博客的功能介绍文章

2026年 5月 8日