CoolInterview.com - World's Largest Collection of Interview Questions
Start Your Own website Now
Sponsored Links

Interview Questions
Our Services

Get 9,000 Interview Questions & Answers in an eBook.


  • 9500+ Pages
  • 9000 Question & Answers
  • All Tech. Categories
  • 14 MB Content

    Get it now !!



    Send your Resume to 6000 Companies


  • INTERVIEW QUESTIONS MICROSOFT C# DETAILS
    Question :
    what is the main difference between delegate and an event in c#?

    Posted by: shameera on 9/25/2007

    Contact shameera Contact shameera
    Category C# Interview Questions
    Rating (0.4) By 1596 users
    Added on 9/25/2007
    Views 7302
    Rate it!
    Answers:

    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.



    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.



    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.



    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



    Posted by: sandeep khokhar    

    Contact sandeep khokhar Contact sandeep khokhar

    Delegate:
    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:
    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..



    Posted by: V.JeevanKumar    

    Contact V.JeevanKumar Contact V.JeevanKumar

    Methods are registered in Delegate and Delegates are registered in Events.



    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)
    {
    }
    }



    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




    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



    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.



    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



    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.



    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.



    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.



    Posted by: trimurthy    

    Contact trimurthy Contact trimurthy

    Delegate is a function pointer whereas event is an action. Delegate can be used to create an event or in threading purpose.



    Posted by: Manjushree     

    Contact Manjushree Contact Manjushree

    Delegates are the function pointers.We can refer to any function using Delegate object
    steps:1.first create the delegate object
    2.call any method passing the delegate object



    Posted by: K.L.Prasanna    

    Contact K.L.Prasanna Contact K.L.Prasanna

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



    Posted by: basant singh    

    Contact basant singh Contact basant singh

    Delegate is an method acting for another method.Its primary purpose is to establish an infrastructure to support events
    With delegate a program can be called at runtime

    Event is an Automatic notification that some action has occurred
    An event is built upon a delegate



    Posted by: Deepesh Nayak    

    Contact Deepesh Nayak Contact Deepesh Nayak

    Delegate and Events behave in the same way except Delegate can be nullable while event can either be added or can be subtracted ( + / -).
    Event is a kind of mechanism to protect the delegate so that none of the client can make it null. For example client a,b,c are subscribed for the delegate method and then the client d is making it null, then all the clients will lose the subscription. But with events you cannot make it null.



    Posted by: Russel    

    Contact Russel Contact Russel

    Delegate : Delegate act as a mediator between method and object, It takes the reference of methods. Delegate is two types: 1-Single-Cast, 2-Multi-Cast Delegate

    Event : Any action perform on an object is known as Event.

    *** Event uses delegate for it's operation



    Posted by: Deepak    

    Contact Deepak Contact Deepak

    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 used.


    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)
    {
    }
    }



    Posted by: Pabani Mehul    

    Contact Pabani Mehul Contact Pabani Mehul

    Event is an action(s) that user performs and in return a response is given to user.that response is defined in delegate by linking appropriate function(s).
    Example:
    if user enters username and password and clicks lo-gin button,that click is an action(event),now application uses event handlers(functions) with the help of defined DELEGATE.



    Posted by: Gohar    

    Contact Gohar Contact Gohar

    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

    User Options
    Sponsored Links


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

    Download Yahoo Messenger | Placement Papers| FREE SMS | ASP .Net Tutorial | Web Hosting | Dedicated Servers | C Interview Questions & Answers

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


    Cache = 0.015625 Seconds