Wednesday, November 4, 2015

Events

An event is a mechanism to notify all clients of the class about something happened, and clients executed the required operation on triggering of the event.
An event is a variable of type of a delegate with keyword 'event'.

Steps to create & use events:
  1. Create a delegate
  2. Create an event in your class (for that you want event tracking)
  3. Call event
  4. Hookup event with delegate
Example


    public class MyEventClass
    {
        public delegate void Mydelegate(object sender, MyEventArgsClass e); //step 1
        public event Mydelegate myEvent; //step 2

        public class MyEventArgsClass : EventArgs
        {
            public readonly string _message;
            public MyEventArgsClass(string message)
            {
                this._message = message;
            }
        }

        public void RaiseEvent(string message)
        {
            if(myEvent != null)
                myEvent(this, new MyEventArgsClass(message));  //step 3
        }
    }

    class Program
    {
       public static void Main(string[] args)
       {
        MyEventClass objEventClass = new MyEventClass();
        objEventClass.myEvent += objEventClass_myEvent;  //Step 4

       }
        //Client Method to Execute on Event
       static void objEventClass_myEvent(object sender, MyEventClass.MyEventArgsClass e)
       {
           if (sender is MyEventClass)
           {
               MyEventClass objClass = (MyEventClass)sender;
               Console.WriteLine("This is message : " + e._message);
           }
       }
    }

No comments:

Post a Comment

CI/CD - Safe DB Changes/Migrations

Safe DB Migrations means updating your database schema without breaking the running application and without downtime . In real systems (A...