CA1009: Dichiarare correttamente i gestori eventi
Articolo | Valore |
---|---|
ID regola | CA1009 |
Category | Microsoft.Design |
Modifica | Interruzione |
Causa
Un delegato che gestisce un evento pubblico o protetto non ha la firma corretta, il tipo restituito o i nomi dei parametri.
Nota
Questa regola è stata deprecata. Per altre informazioni, vedere Regole deprecate.
Descrizione regola
I metodi di gestione eventi accettano due parametri. Il primo è di tipo System.Object e è denominato 'sender'. Corrisponde all'oggetto che ha generato l'evento. Il secondo parametro è di tipo System.EventArgs ed è denominato 'e'. Questi sono i dati associati all'evento. Ad esempio, se l'evento viene generato ogni volta che viene aperto un file, i dati dell'evento in genere contengono il nome del file.
I metodi del gestore eventi non devono restituire un valore. Nel linguaggio di programmazione C# questo è indicato dal tipo void
restituito . Un gestore eventi può richiamare più metodi in più oggetti. Se i metodi fossero autorizzati a restituire un valore, si verificherebbero più valori restituiti per ogni evento e solo il valore dell'ultimo metodo richiamato sarebbe disponibile.
Come correggere le violazioni
Per correggere una violazione di questa regola, correggere la firma, il tipo restituito o i nomi dei parametri del delegato. Per informazioni dettagliate, vedere l'esempio seguente.
Quando eliminare gli avvisi
Non escludere un avviso da questa regola.
Esempio
Nell'esempio seguente viene illustrato un delegato adatto alla gestione degli eventi. I metodi che possono essere richiamati da questo gestore eventi sono conformi alla firma specificata nelle linee guida per la progettazione. AlarmEventHandler
è il nome del tipo del delegato. AlarmEventArgs
deriva dalla classe base per i dati dell'evento, EventArgse contiene i dati degli eventi di allarme.
using System;
namespace DesignLibrary
{
public class AlarmEventArgs : EventArgs {}
public delegate void AlarmEventHandler(object sender, AlarmEventArgs e);
}
Regole correlate
CA2109: Controllare i gestori di eventi visibili
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per