Hi, A delegate declaration defines a reference type that can be used to encapsulate a method with a specific signature. A delegate instance encapsulates a static or an instance method. Delegates are roughly similar to function pointers in C++; however, delegates are type-safe and secure. While an interface defines a contract. A class or struct that implements an interface must adhere to its contract. An interface contains the methods,propeties,indexers and events signatures only.Interfaces can inherit from more than one interface. Hence,interfaces and delegates are totally different. Q.When can we use Interface? A.There are several other reasons why you might want to use interfaces instead of class inheritance: Interfaces are better suited to situations in which your applications require many possibly unrelated object types to provide certain functionality. Interfaces are more flexible than base classes because you can define a single implementation that can implement multiple interfaces. Interfaces are better in situations in which you do not need to inherit implementation from a base class. Interfaces are useful in cases where you cannot use class inheritance. For example, structures cannot inherit from classes, but they can implement interfaces Q.When to use Delegates? A. Some of the situations or uses of delegates are: An interesting and useful property of a delegate instance is that it does not know or care about the classes of the methods it encapsulates; all that matters is that those methods be compatible with the delegate's type. This makes delegates perfectly suited for "anonymous" invocation. This is a powerful capability. Event delegates are multicast, which means that they can hold references to more than one event handling method. Delegates allow for flexibility and fine-grain control in event handling. A delegate acts as an event dispatcher for the class that raises the event by maintaining a list of registered event handlers for the event. For more information,you can check MSDN site. 2. Well,i am aware that some companies like Avanaad (Accenture and Microsoft Collobarated Co.) is building a framework which is similar to .Net framework but i think this will also be owned by Microsoft as its got more stake on Avanaad than Accenture..Besides companies like Oracle are coming up with their own framework.. Since, this information becomes confidential to organizations, the information may be not vary or disparate. HTH Regards Lakshmi |