CA1009: Deklarujte správně obslužné rutiny událostí
Název_typu |
DeclareEventHandlersCorrectly |
CheckId |
CA1009 |
Kategorie |
Microsoft.design |
Změnit rozdělení |
Rozdělení |
Příčina
Delegát, který zpracovává události veřejné nebo chráněné nemá správný podpis, typ nebo názvy parametrů.
Popis pravidla
Metody zpracování události trvat dva parametry.První typ je Object a s názvem "odesílatel".Toto je objekt, který vyvolal událost.Druhý parametr je typu EventArgs a s názvem "e".Toto je data, která je přidružena událost.Například k Pokud událost je aktivována při každém otevření souboru, data událostí obvykle obsahuje název souboru.
Metody zpracování události by nevrací hodnotu.V programovacího jazyka C#, je dána návratový typ void.Obslužnou rutinu události lze vyvolat více metod ve více objektech.Metody vrátit hodnotu, pokud každé události by nastat více vrácené hodnoty a hodnoty poslední metoda, která byla vyvolána by k dispozici.
Jak opravit porušení
Porušení tohoto pravidla opravíte opravte podpisu, návratový typ nebo názvy parametrů delegáta.Podrobnosti naleznete v následujícím příkladu.
Při potlačení upozornění
Nepotlačovat upozornění od tohoto pravidla.
Příklad
Následující příklad ukazuje delegát, který je vhodný pro zpracování událostí.Metody, které lze uplatnit tuto obslužnou rutinu události v souladu s podpis, který je zadán v pokynech pro návrh.AlarmEventHandlerje název typu delegáta.AlarmEventArgsje odvozen ze základní třídy pro události data EventArgs, a blokování poplachu dat událostí.
Imports System
Namespace DesignLibrary
Public Delegate Sub AlarmEventHandler(sender As Object, e As AlarmEventArgs)
Public Class AlarmEventArgs
Inherits EventArgs
End Class
End Namespace
using System;
namespace DesignLibrary
{
public class AlarmEventArgs : EventArgs {}
public delegate void AlarmEventHandler(object sender, AlarmEventArgs e);
}
using namespace System;
namespace DesignLibrary
{
public ref class AlarmEventArgs : public EventArgs {};
public delegate void AlarmEventHandler(
Object^ sender, AlarmEventArgs^ e);
}
Souvisejících pravidel
CA2109: Zkontrolujte viditelné obslužné rutiny událostí