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.