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.

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 [Signal] viene rimosso

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.