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.

GD0203: La firma delegata del segnale deve restituire void

ID regola

GD0203

Categoria

Utilizzo

Soluzione è distruttiva o non-distruttiva

Distruttiva - Se il tipo restituito viene cambiato

Non-distruttiva - Se l'attributo [Signal] viene rimosso

Abilitato per predefinito

Si

Causa

Un delegato annotato con l'attributo [Signal] ha un tipo restituito quando era previsto void.

Descrizione della regola

Ogni segnale deve restituire void. È possibile registrare più callback per ogni segnale; se i callback dei segnali potessero restituire qualcosa, non sarebbe possibile determinare quale dei valori restituiti utilizzare.

// This signal delegate is invalid because it doesn't return void.
public int InvalidSignalEventHandler();

// This signal delegate is valid because it returns void.
public void ValidSignalEventHandler();

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, modificare il delegato in modo che restituisca void 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 di segnale che restituiscono qualcosa causeranno errori imprevisti in fase di esecuzione.