ReSharper 2026.1 Help

代码检查:已声明具有相同名称的事件函数

Unity 事件函数(如 StartUpdateOnCollisionStay )是 Unity 在对象生命周期的不同阶段自动调用的特定命名方法。

虽然某些事件函数有多个有效的签名(例如 OnCollisionStay()OnCollisionStay(Collision) ),但单个类应只实现其中的一个。 如果一个类包含多个相同事件函数名称的声明,Unity 的行为可能会变得未定义或非预期。

该检查会识别这些多余或含糊的声明,并建议删除或合并它们,以确保代码按预期工作。

修正方法

检查重复的事件函数,并决定保留哪一个。 如果两者都包含独特的逻辑,请将代码合并到一个方法声明中。

public class MyScript : MonoBehaviour { // Both methods are valid event functions, // but they shouldn't coexist void OnCollisionStay() { // Some logic } void OnCollisionStay(Collision collision) { // Other logic } }
public class MyScript : MonoBehaviour { void OnCollisionStay(Collision collision) { // Merged logic } }
2026年 5月 8日