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