Interface_delegate_event1.cs
 
Code :

using System;
using System.Collections.Generic;
//
//csc Interface_delegate_event1.cs
namespace ConsoleApplication1
{
public delegate void MyDelegate();
public interface Idel
{
event MyDelegate MyEvent;
void InvokeEvent();
}

public class myClass : Idel
{
public event MyDelegate MyEvent;
public void InvokeEvent()
{
if (MyEvent != null)
{
Console.WriteLine("Trigger action");
MyEvent();
}

}
}

class MainClass
{
public static void Main(string[] args)
{

Idel idl = new myClass();
Console.WriteLine("Main Class");
idl.MyEvent += new MyDelegate(fire);
idl.InvokeEvent();
//
Console.ReadLine();
}
static void fire()
{
Console.WriteLine("Invoke this");
}
}
}