مشاركة عبر


Run a Data Generation Plan to Generate Data Merging Multiple Databases into a Database Project

TypeName

DeclareEventHandlersCorrectly

CheckId

ca1009

Category

Microsoft.تصميم

تعطيل تغيير

فصل

السبب

تفويض معالجة عام أو حماية حدث لا يحتوي على توقيع الصحيح، قم بإرجاع نوع أو أسماء المعلمات.

وصف القاعدة

معالج الأحداث وظائف أخذ معلمتين. أول هو من نوع System.Objectو هو المسمى 'المرسل'. هذا هو الكائن الذي يقوم بتشغيل حدث. معلمة ثانية هو من نوع System.EventArgsو هو المسمى 'e'. Th هو هو بيانات المقترنة بحدث. على سبيل المثال، إذا كان حدث هو raهوed كلما ملف هو فتح، بيانات حدث عادة يتضمن اسم الملف.

حدث لا يجب أن أساليب المعالج بإرجاع القيمة. في C# لغة البرمجة، th هو هو المشار إليها بواسطة نوع الإرجاع void. معالج الأحداث يمكن استدعاء وظائف متعددة في العديد من الكائنات. إذا تم السماح للأساليب إلى ترجع قيمة، قد تكون قيم الإرجاع المتعددة لكل حدث، وفقط قيمة استدعاء الأسلوب أخير الذي يكون متاحاً.

كيف إلى الإصلاح انتهاكات

إلى إصلاح انتهاكا لهذه قاعدة، قم بتصحيح توقيع أو نوع إرجاع أسماء المعلمات للمفوض. للحصول على التفاصيل، راجع ما يلي مثال.

عند إلى منع التحذيرات

لا بمنع تحذير من هذه قاعدة.

مثال

يظهر المثال التالي تفويض مناسبة لمعالجة الأحداث. الطرق التي يمكن أن يتم استدعاؤه بواسطة معالج حدث هذا يتوافق مع إلى توقيع المحدد في "إرشادات التصميم". AlarmEventHandlerاسم نوع المفوض. AlarmEventArgsمشتقة من فئة أساسية لبيانات حدث،EventArgs، و إنذار الاحتجاز بيانات حدث.

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);
}

القواعد ذات الصلة

CA2109: Review visible event handlers

راجع أيضًا:

المرجع

System.EventArgs

System.Object

المبادئ

أحداث و مفوضون