Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

GD0402: The class must not be generic

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 geht davon aus, dass jede globale Klasse instanziierbar ist, aber generische Typen können nicht instanziiert werden, weil die Typparameter 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.