Abedron
6/25/2015 - 11:55 AM

Event system in C#

Event system in C#

namespace CEventTest
{
    class Program
    {
        static void Main(string[] args)
        {
            PushButton pushButton = new PushButton();
            pushButton.OnClick += clickHand;
            pushButton.Click();
        }

        private static void clickHand(int i)
        {
            Debug.WriteLine("Event!");
        }
    }

    public class PushButton
    {
        public delegate void ClickHandler(int i);
        public event ClickHandler OnClick;

        public void Click()
        {
            // for C# version 6
            // OnClick?.Invoke(3);
            
            if (OnClick != null) OnClick(3);
        }
    }
}