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 |
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.