ReSharper 2026.1 Help

代码检查:在对象实例化后立即设置 'parent' 属性效率低下。

所有 Unity 游戏对象都有一个 transform 组件,它指定对象在 transform 层级中相对于父对象的位置、旋转和缩放。 调用 Object.Instantiate 创建新对象实例且不设置父 transform 时,会创建一个新的根 transform 层级。 之后可以通过调用 Transform.SetParent 或赋值给 Transform.parent 来设置父对象。

调用 Instantiate 并单独设置父对象是一项不必要的高开销操作,因为新的根 transform 层级会被分配、初始化,然后立即被丢弃。 建议在调用 Instantiate 时一并设置父 transform,以避免不必要的内存分配。

此检查将突出显示对 Object.Instantiate 的调用,当 parent 参数未指定但在方法中稍后设置时。 此检查还会添加快速修复功能,在调用 Instantiate 时添加父对象,并移除对 parent 的赋值或对 SetParent 的调用。

2026年 5月 8日