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.