EventArgs<T>

19 בנובמבר 2008

תגיות:
3 תגובות


היי


הרבה מה events שלנו הם מסוג EventHandler ומוגדרים בצורה הבאה:




    1     public event EventHandler MyEventHandler;



בהמון מקרים אנחנו רוצים לשלוח ב EventArgs פרמטר אחד מסוג string, int ועוד.


אז במקום לייצר כל פעם CustomEventArgs אפשר להשתמש ב class הבא:




    2         public class EventArgs<T> : EventArgs


    3         {


    4             public EventArgs(T data)


    5             {


    6                 Data = data;


    7             }


    8 


    9             public T Data { get; set; }


   10         }



והשימוש יהיה כך:




    3     public event EventHandler<EventArgs<int>> MyEventHandler;


    4 


    5     protected void OnMyEventHandler(object sender, EventArgs<int> e)


    6     {


    7         if (MyEventHandler != null)


    8         {


    9             MyEventHandler(sender, e);


   10         }


   11     }


   12 


   13     public void f()


   14     {


   15         OnMyEventHandler(this, new EventArgs<int>(4));


   16     }

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

3 תגובות

  1. adh4 בדצמבר 2008 ב 0:52

    Shlomo,
    Please a VB.NET Version
    Thanks

    הגב
  2. Shlomo4 בדצמבר 2008 ב 2:41

    Public Class EventArgs(Of T)
    Inherits EventArgs

    Public Sub New(ByVal data As T)
    data = data
    End Sub

    Public Property Data() As T
    Get
    End Get
    Set(ByVal value As T)
    End Set
    End Property
    End Class

    הגב