Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

GD0002: Missing partial modifier on declaration of type which contains nested classes that derive from GodotObject

规则 ID

GD0002

类别

用法

修复是中断修复还是非中断修复

Non-breaking

默认启用

原因

A type that derives from GodotObject is contained in a non-partial type declaration.

规则说明

Godot source generators add generated code to user-defined types to implement the integration with the engine. Source generators can't add generated code to types that aren't declared partial.

public class InvalidParentType
{
    // MyNode is contained in a non-partial type so the source generators
    // can't enhance this type to work with Godot.
    public partial class MyNode : Node { }
}

public partial class ValidParentType
{
    // MyNode is contained in a partial type so the source generators
    // can enhance this type to work with Godot.
    public partial class MyNode : Node { }
}

如何解决冲突

To fix a violation of this rule, add the partial keyword to the type declaration.

何时禁止显示警告

Do not suppress a warning from this rule. Types that derive from GodotObject but aren't partial can't be enhanced by the source generators, resulting in unexpected runtime errors.