代码检查:冗余属性使用(将属性应用于此声明类型时是多余的)
Unity 自带了许多属性,例如 SerializeField、 CustomEditor、 ExecuteInEditMode 等,这些属性没有提供任何 AttributeTargets。 从技术角度来说,这些属性可以应用于任何声明——类、方法、字段、属性等等,代码依然可以编译。 然而,这些属性只有应用于特定目标声明时才会被使用,在其他声明类型上会被自动忽略。
例如,将 SerializeField 属性应用到属性上是一个相当常见的错误——这不会产生任何作用,而且这个错误只有在运行时才有可能被发现。
该检查会在这些属性应用于错误目标类型时将其高亮为无效代码,并可以通过快速修复移除冗余属性。
2026年 5月 8日