JetBrains Rider 2026.1 Help

代码检查:基于字符串的图形属性查找效率低下

AnimatorMaterialShader 的 setter 和 getter 方法可以接受一个字符串参数,用于标识要返回或设置的属性。 例如, Animator.GetBoolMaterial.SetTextureShader.GetGlobalValue 等。 每次调用该方法时,Unity 会将字符串名称转换为整数 ID,用于标识属性。 此整数 ID 是一个稳定值,可以预先计算并在 setter 和 getter 的重载中使用,从而减少每次方法调用时计算 ID 的开销。

此检查将高亮显示对 AnimatorShaderMaterial 使用基于名称的 SetGet 函数的任何用法。 它还提供了一个快速修复,会引入或复用一个 static 只读整数字段,用于计算并缓存名称的整数 ID,并在 setter 或 getter 方法的字符串参数位置使用该 ID。 对于 Animator 方法,ID 通过 Animator.StringToHash 计算,而 Shader.PropertyToID 用于 ShaderMaterial

2026年 5月 8日