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...
GD0301: L'argomento di tipo generico deve essere un tipo compatibile con Variant
ID regola |
GD0301 |
Categoria |
Utilizzo |
Soluzione è distruttiva o non-distruttiva |
Distruttiva |
Abilitato per predefinito |
Si |
Causa
È specificato un tipo non supportato per un argomento di tipo generico quando è previsto un tipo compatibile con Variant.
Descrizione della regola
Quando un parametro di tipo generico è annotato con l'attributo [MustBeVariant], il tipo generico deve essere compatibile con Variant. Ad esempio, il tipo generico Godot.Collections.Array<T> supporta solo elementi di un tipo che si può convertire in Variant.
class SomeType { }
// SomeType is not a valid type because it doesn't derive from GodotObject,
// so it's not compatible with Variant.
var invalidArray = new Godot.Collections.Array<SomeType>();
// System.Int32 is a valid type because it's compatible with Variant.
var validArray = new Godot.Collections.Array<int>();
Come risolvere le violazioni
Per correggere una violazione di questa regola, modificare l'argomento di tipo generico in modo che sia un tipo compatibile con Variant oppure utilizzare un'API diversa che non richieda che l'argomento di tipo generico sia un tipo compatibile con Variant.
Quando sopprimere gli avvertimenti
Non sopprimere un avviso da questa regola. Le API che contengono argomenti di tipo generico annotati con l'attributo [MustBeVariant] solitamente hanno questo requisito perché i valori saranno passati al motore; se non è possibile convertire il tipo si causeranno errori in fase di esecuzione.