About delegates and events?

Answer Posted / kishoreg

Delegates in C#
If we look at C++ there is a feature called callback
function. This feature uses Pointers to Functions to pass
them as parameters to other functions. Delegate is a
similar feature but it is more type safe, which stands as a
stark contrast with C++ function pointers. A delegate can
hold reference/s to one more more functions and invoke them
as and when needed.
Any delegate is inherited from base delegate class of .NET
class library when it is declared. This can be from either
of the two classes from System.Delegate or
System.MulticastDelegate
If the delegate contains a return type of void, then it is
automatically aliased to the type of
System.MulticastDelegate

Events in c#
Delegate usefulness does not just lie in the fact that it
can hold the references to functions but in the fact that
it can define and use function names at runtime and not at
compile time. A large goal of design delegates is their
applicability in events model of .Net. Events are the
actions of the system on user manipulations (e.g. mouse
clicks, key press, timer etc.) or any event triggered by
the program

Example can be seen at
http://www.codersource.net/csharp_delegates_events.html

Is This Answer Correct ?    6 Yes 2 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is singleordefault?

515


What is form feed in c#?

567


What is the use of ispostback in c#?

472


What do u mean by delegation?

541


Why do we use polymorphism in c#?

474






What is the use of jit ? Jit (just - in - time) is a compiler which converts msil code to

524


What does type safe mean in c#?

509


What does readonly mean in c#?

540


What is state c#?

438


What is the delegate in c#?

494


What is difference between singleordefault and firstordefault?

481


How can encapsulation be achieved?

601


What is string [] args in c#?

543


What type is string in c#?

481


List down the differences between “dispose” and “finalize” methods in c#.

443