Use delegate: event
/* * C# Programmers Pocket Consultant * Author: Gregory S. MacBeth * Email: gmacbeth@comporium.net * Create Date: June 27, 2003 * Last Modified Date: */ using System; namespace Client.Chapter_8___Delegates_and_Events { public delegate void MyDelegateEventHandler(int i); public class MyEventSubscriberChapter_8___Delegates_and_Events { static void Main(string[] args) { MyEventPublisher EventPublisher = new MyEventPublisher(); MyDelegateEventHandler MyAnonymousDelegate = delegate(int x) { Console.WriteLine("Anonymous Event FIRED!"); }; EventPublisher.MyEvent += MyAnonymousDelegate; EventPublisher.DoSomething(); } } public class MyEventPublisher { public event MyDelegateEventHandler MyEvent; public int DoSomething() { MyEvent(5); return 0; } } }