Sponsored Links

Interview Questions
Recommended Books

Question :

what is the main difference between delegate and an event in c#?

Posted by: shameera on 9/25/2012

Contact shameera Contact shameera

Category C# Interview Questions
Rating (3.8) By 90 users
Added on 9/25/2012
Views 5948
Rate it!

Highly Recommended, Hand Picked C# Books

Question :

what is the main difference between delegate and an event in c#?


They aren't the same. An event is an event. A "delegate" assigns a particular event handler to an object instance. Thus, when an object event happens, the proper procedure/method is called.

An example might help. I frequently code things so that a single method is called for all instances of a class. No matter which button is clicked, call my generic "button_click" method. That method will use the event arguments to determine which button was actually clicked.

In order to assign all button click events to a single method, I have to code the delegates.
Source: CoolInterview.com

Posted by: NandaKumar

Contact NandaKumar Contact NandaKumar

Delegates and Events Both are related.

Dalegete is a function pointer which can able to store the address of any function with same prototype.

Event is a function handler which can handles or run the functions in same prototype of its delegate.

For handling events delegate is uesd.

Source: CoolInterview.com

Posted by: A.Mathiyazhagan

Contact A.Mathiyazhagan Contact A.Mathiyazhagan

delelgate is rederence to a method. event is way to access that method using that delegate.
Source: CoolInterview.com

Posted by: sandy

Contact sandy Contact sandy

event and delegate are not same .event is a part of delegate.delegate use the event to do somerhing
Source: CoolInterview.com

Posted by: sandeep khokhar

Contact sandeep khokhar Contact sandeep khokhar

Normally funtions we called in oop's by object of the class.so each time fuction stack will creats and execute that function so each time memory will allocates for this exection..so memory will be wasting here., so to resolve this problem Delegate is came Actually,
Delegate is a function pointer it creates funtion stack and exucutes the functions on a same memory location(number of times you called also).so no separate memory allocation is required each and every time to call a same function..Delegates takes funtion as an argument.

Event is an action ,it runs on a perticular time only..for example:when button click,mouseoveron like

So finally we considerd as events and delgates are not comparible..
Source: CoolInterview.com

Posted by: V.JeevanKumar

Contact V.JeevanKumar Contact V.JeevanKumar

Methods are registered in Delegate and Delegates are registered in Events.
Source: CoolInterview.com

Posted by: Salman

Contact Salman Contact Salman

Event is a type of delegate ( a mUlticast delegate). From usage perspective Delegate and Event has a difference . A public instance of a delegate can be used from outside the class to be raised where as Events are not allowed to be raised outside the class where it is declared.

For example you have class where you have a public instance of a delegate and and a event of the same delegate type

public delegate void TestDel(Object seder,string args);
public class DelegateEventTest
public TestDel aDelegate;

public event TestDel aEvent;

Now from your main method which is in a separate class you can raise delegate but you cannot raise the event . Evet can only be raised within the same class(here class DelegateEventTest).

class Program
static void Main(string[] args)
DelegateEventTest test = new DelegateEventTest();
test.aDelegate = new TestDel(MethodtoTestDelegate);
/* This line will never compile*/
// test.aEvent = new TestDel(MethodtoTestDelegate);

static void MethodtoTestDelegate(Object o, string a)

Source: CoolInterview.com

Posted by: Sucharit

Contact Sucharit Contact Sucharit

Event keyword provides a better layer of security than delegates.

delegate += f1;
delegate += f2;
delegate = f3 ;// this wipes out the earlier entries of f1 & f2.

This is not possible while using event keyword and the compiler will throw an error.

event = f3; // not allowed
event =null; // not allowed
event (); //not allowed

Source: CoolInterview.com

Posted by: Anand

Contact Anand Contact Anand

Basically Delegate is reference type object that can hold reference of a method. and Event is occurence in specific condition. BUT delegates and events are related. We can not fire any event without delegate. Delegate associates eventhadler(method) with event which will be invoked when that particular event will be fired. We can execute more then one functions/methods with the help of delegate on event occurence. BUT POINT TO KEEP IN MIND AS METHODS TO BE PASSED IN DELEGATE SHOULD HAVE SAME SIGNATURE OF DELEGATE EVEN THEN RETURN TYPE SHOULD ALSO BE SAME. hence we can say delegates and events are co-related
Source: CoolInterview.com

Posted by: Gurpreet Singh

Contact Gurpreet Singh Contact Gurpreet Singh

their is no similarity b/w a delegate and event.
delegates are similar to function pointers in our c and c++.
a delegate can hold a function reference,and the operations on delegates effects or call the functions.delegates mainly used in event handling
where as events use delegate concept.

Source: CoolInterview.com

Posted by: balakrishna

Contact balakrishna Contact balakrishna

An Event is an occurence of an event. It may be arrival of an email, Clicking of a button, Binding of a Control etc.,

Now, given the fact that event is nothing but signalling of something happening, next logical question what we should do when such event happens. Every even we take care enough to define should be associated with an action that should be performed when said event happens. These actions are known as event handlers. In the above cases, the event handlers may be putting email in Inbox, opening up of a popup or formatting of data source etc.,

As many would have guessed, Event handlers should be function. We associate a function( or set of functions ) to be executed when event occurs. This is where delegate comes in. A delegate is a type ( like int, string etc.,) which holds the names of the functions. A further restriction is that a particular delegate variable can hold names of functions with particular signature. We declare an event and provide it a delegate variable which contains name of the function. Thus Event and Event handler are associated.

Hope this clarifies
Source: CoolInterview.com

Posted by: Raj

Contact Raj Contact Raj

As delegates are function to pointers they can move across any clients. So any
of the clients can add or remove events , which can be pretty confusing. But
events give the extra protection by adding the layer and making it a publisher
and subscriber model.
Source: CoolInterview.com

Posted by: rajeshkumarreddychalla

Contact rajeshkumarreddychalla Contact rajeshkumarreddychalla

Delegate is a reference type variable which holds reference to a method and this reference can be changed at runtime. Event is a action. Delegates are used with event to bind the event with event handlers.
Source: CoolInterview.com

Posted by: Ujwala

Contact Ujwala Contact Ujwala

delegate is a functional pointer.it holds referece of method.we defind delegate as like same return type and signature of the we required method.
Source: CoolInterview.com

Posted by: trimurthy

Contact trimurthy Contact trimurthy

If you have the better answer, then send it to us. We will display your answer after the approval.
Rules to Post Answers in CoolInterview.com:-
  • There should not be any Spelling Mistakes.
  • There should not be any Gramatical Errors.
  • Answers must not contain any bad words.
  • Answers should not be the repeat of same answer, already approved.
  • Answer should be complete in itself.
Name :*
Email Id :*
Answer :*
Verification Code Code Image - Please contact webmaster if you have problems seeing this image code Not readable? Load New Code
Process Verification Enter the above shown code: *
Inform me about updated answers to this question

Related Questions
View Answer
How to use HASH TABLE,ARRAYLIST in c# explain with example?
View Answer
Assemblies are of the following types:

View Answer
What is the difference between shadow and override

View Answer
What is the top .NET class that everything is derived from?

View Answer
C# provides a default constructor for me. I write a constructor that takes a string as a parameter, but want to keep the no parameter one. How many constructors should I write?

View Answer
When you inherit a protected class-level variable?Who is it available to?

View Answer
Does C# support multiple inheritance?

View Answer

How do you inherit from a class in C#?

View Answer
What is an abstract class?

View Answer
What does the keyword virtual mean in the method definition?

View Answer
How's method overriding different from overloading?

View Answer
What's the top .NET class that everything is derived from?

View Answer

Please Note: We keep on updating better answers to this site. In case you are looking for Jobs, Pls Click Here Vyoms.com - Best Freshers & Experienced Jobs Website.

View ALL C# Interview Questions & Answers

User Options
India News Network

Latest 20 Questions
What are the Hadoop related Projects at Apache?
What are the modules included in Apache Hadoop Project?
What is Apache Hadoop?
What is a Private Cloud? Do we need one to handle Big Data?
How Can We Cope with the Impact of Big Data?
What skills do Big Data analysts need to have?
What does a Big Data analyst do?
What are some real-world examples of Big Data and how it is used?
What is Big Data Analytics?
Why Big Data is becoming so important?
What is the impact of Big Data on Sports Industry?
What is the impact of Big Data on Real estate Industry?
What is the impact of Big Data on Retail Banking Industry?
What is the impact of Big Data on Retail Industry?
What is the impact of Big Data on Technology Industry?
What is the impact of Big Data on Information Technology Industry?
What is the impact of Big Data on Internet of Things (IoT) Industry?
What is the impact of Big Data on Media Industry?
What is the impact of Big Data on Education Industry?
What is the impact of Big Data on Healthcare Industry?

Fresher Jobs | Experienced Jobs | Government Jobs | Walkin Jobs | Company Profiles | Interview Questions | Placement Papers | Companies In India | Consultants In India | Colleges In India | Exams In India | Latest Results | Notifications In India | Call Centers In India | Training Institutes In India | Job Communities In India | Courses In India | Jobs by Keyskills | Jobs by Functional Areas

Testing Articles | Testing Books | Testing Certifications | Testing FAQs | Testing Downloads | Testing Interview Questions | Testing Jobs | Testing Training Institutes

Gate Articles | Gate Books | Gate Colleges | Gate Downloads | Gate Faqs | Gate Jobs | Gate News | Gate Sample Papers | Gate Training Institutes

MBA Articles | MBA Books | MBA Case Studies | MBA Business Schools | MBA Current Affairs | MBA Downloads | MBA Events | MBA Notifications | MBA FAQs | MBA Jobs
MBA Job Consultants | MBA News | MBA Results | MBA Courses | MBA Sample Papers | MBA Interview Questions | MBA Training Institutes

GRE Articles | GRE Books | GRE Colleges | GRE Downloads | GRE Events | GRE FAQs | GRE News | GRE Training Institutes | GRE Sample Papers

IAS Articles | IAS Books | IAS Current Affairs | IAS Downloads | IAS Events | IAS FAQs | IAS News | IAS Notifications | IAS UPSC Jobs | IAS Previous Question Papers
IAS Results | IAS Sample Papers | IAS Interview Questions | IAS Training Institutes | IAS Toppers Interview

SAP Articles | SAP Books | SAP Certifications | SAP Companies | SAP Study Materials | SAP Events | SAP FAQs | SAP Jobs | SAP Job Consultants
SAP Links | SAP News | SAP Sample Papers | SAP Interview Questions | SAP Training Institutes |

Copyright ©2003-2016 CoolInterview.com, All Rights Reserved.
Privacy Policy | Terms and Conditions

Cache = 0.007812 Seconds