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.
Checking the stable version of the documentation...
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.