Share via


CA1009: Olay işleyicilerini doğru bildirin

Ürün Değer
RuleId CA1009
Kategori Microsoft.Design
Hataya neden olan değişiklik Yeni

Neden

Genel veya korumalı bir olayı işleyen bir temsilci doğru imzaya, dönüş türüne veya parametre adlarına sahip değil.

Dekont

Bu kural kullanım dışı bırakıldı. Daha fazla bilgi için bkz . Kullanım dışı kurallar.

Kural açıklaması

Olay işleyicisi yöntemleri iki parametre alır. İlki türündedir System.Object ve 'sender' olarak adlandırılır. Bu olayda oluşan nesnedir. İkinci parametre türündedir System.EventArgs ve 'e' olarak adlandırılır. Bu olay ile ilişkilendirilmiş olan verilerdir. Örneğin, bir dosya her açıldığında olay tetikleniyorsa, olay verileri genellikle dosyanın adını içerir.

Olay işleyicisi yöntemleri bir değer döndürmemelidir. C# programlama dilinde bu, dönüş türüyle voidgösterilir. Olay işleyicisi birden çok nesnede birden çok yöntem çağırabilir. Yöntemlerin bir değer döndürmesine izin verildiyse, her olay için birden çok dönüş değeri oluşur ve yalnızca çağrılan son yöntemin değeri kullanılabilir.

İhlalleri düzeltme

Bu kuralın ihlalini düzeltmek için temsilcinin imzasını, dönüş türünü veya parametre adlarını düzeltin. Ayrıntılar için aşağıdaki örneklere bakın.

Uyarıların ne zaman bastırılması gerekiyor?

Bu kuraldan uyarıyı bastırmayın.

Örnek

Aşağıdaki örnekte olayları işlemeye uygun bir temsilci gösterilmektedir. Bu olay işleyicisi tarafından çağrılabilen yöntemler, Tasarım Yönergeleri'nde belirtilen imzayla uyumlu olur. AlarmEventHandler , temsilcinin tür adıdır. AlarmEventArgs , olay verileri EventArgsiçin temel sınıftan türetilir ve alarm olay verilerini tutar.

using System;

namespace DesignLibrary
{
   public class AlarmEventArgs : EventArgs {}
   public delegate void AlarmEventHandler(object sender, AlarmEventArgs e);
}

CA2109: Görünen olay işleyicileri gözden geçirin

Ayrıca bkz.