According to C# specification interface contain a signature of events but a complete and brief implementation of events through interface is not available on the net. First you identify the interface public interface IControl { // Raise this event. event EventHandler OnCommand; } According to my need I create a class that inherit from System.EventArgs public class CommandArgs : EventArgs { public string CommandName; } My OutCommand class is a implementation of IControl interface that contain an OnCommand ......