Up to date

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

GD0402: The class must not contain generic arguments

Regel-ID

GD0402

Kategorie

Verwendung

Fix führt oder führt nicht zu Kompatibilitätsbruch

Kompatibilitätsbruch

Standardmäßig aktiviert

Ja

Ursache

Ein generischer Typ wird mit dem Attribut ``[GlobalClass]'' annotiert.

Regelbeschreibung

Der Godot-Editor nimmt an, dass jede globale Klasse instanziierbar ist, aber generische Typen können nicht instanziiert werden, weil die Typargumente ungebunden sind.

// This type is a valid global class because it's not generic.
[GlobalClass]
class SomeType : Node { }

// This type is not a valid global class because it's generic.
[GlobalClass]
class SomeGenericType<T> { }

Wie man Verstöße behebt

Um einen Verstoß gegen diese Regel zu beheben, ändern Sie den Typ, um die generischen Typparameter zu entfernen, oder entfernen Sie das Attribut [GlobalClass].

Wann man Warnungen unterdrücken sollte

Unterdrücken Sie nicht eine Warnung zu dieser Regel. Das Hinzufügen von [GlobalClass] zu einem generischen Typ ist ein leicht zu begehender Schnitzer, und diese Warnung hilft den Benutzern zu erkennen, dass dies zu unerwarteten Fehlern führen kann.