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...
GD0202: Il parametro della firma delegata del segnale non è supportato
ID regola |
GD0202 |
Categoria |
Utilizzo |
Soluzione è distruttiva o non-distruttiva |
Distruttiva - Se il tipo del parametro viene cambiato Non-distruttiva - Se l'attributo |
Abilitato per predefinito |
Si |
Causa
Un tipo non supportato è specificato per un parametro di un delegato annotato con l'attributo [Signal] quando è previsto un tipo compatibile con Variant.
Descrizione della regola
Ogni parametro di un segnale deve essere compatibile con Variant affinché si possa convertire durante l'emissione del segnale e l'invocazione dei callback.
class SomeType { }
// SomeType is not a valid parameter type because it doesn't derive from GodotObject,
// so it's not compatible with Variant.
public void InvalidSignalEventHandler(SomeType someType);
// System.Int32 is a valid type because it's compatible with Variant.
public void ValidSignalEventHandler(int someInt);
Consultare la documentazione Segnali in C# per più informazioni su come dichiarare e utilizzare i segnali.
Come risolvere le violazioni
Per correggere una violazione di questa regola, cambiare il tipo del parametro in modo che sia compatibile con Variant o rimuovere l'attributo [Signal] dal delegato. Si noti che rimuovere l'attributo significherà che il segnale non sarà registrato.
Suggerimento
Se il segnale non deve interagire con Godot, si considerare l'utilizzo diretto degli eventi in C#. Gli eventi puri in C# permetto di utilizzare qualsiasi tipo di C# per i propri parametri.
Quando sopprimere gli avvertimenti
Non sopprimere un avviso da questa regola. I delegati dei segnali con parametri che non è possibile convertire genereranno errori in fase di esecuzione durante l'emissione del segnale o l'invocazione dei callback.