GD0002: Missing partial modifier on declaration of type which contains nested classes that derive from GodotObject
Value | |
---|---|
Rule ID | GD0002 |
Category | Usage |
Fix is breaking or non-breaking | Non-breaking |
Enabled by default | Yes |
Cause
A type that derives from GodotObject
is contained in a non-partial type declaration.
Rule description
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.
csharp
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 { }
}
How to fix violations
To fix a violation of this rule, add the partial
keyword to the type declaration.
When to suppress warnings
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.