delegate C# with Example



delegate C# with Example

Delegates are types that represent a reference to a method. They are used for passing methods as arguments to 
other methods. 
Delegates can hold static methods, instance methods, anonymous methods, or lambda expressions. 
class DelegateExample 
{ 
public void Run() 
{ 
//using class method 
InvokeDelegate( WriteToConsole ); 
//using anonymous method 
DelegateInvoker di = delegate ( string input ) 
{ 
Console.WriteLine( string.Format( "di: {0} ", input ) ); 
return true; 
}; 
InvokeDelegate( di ); 
//using  lambda  expression 
InvokeDelegate( input => false ); 
} 
public delegate bool DelegateInvoker( string input ); 
public void InvokeDelegate(DelegateInvoker func) 
{ 
var ret = func( "hello world" ); 
Console.WriteLine( string.Format( " > delegate returned {0}", ret ) ); 
} 
public bool WriteToConsole( string input ) 
{ 
Console.WriteLine( string.Format( "WriteToConsole: '{0}'", input ) ); 
return true; 
} 
} 
When assigning a method to a delegate it is important to note that the method must have the same return type as 
well as parameters. This differs from 'normal' method overloading, where only the parameters define the signature 
of the method. 
Events are built on top of delegates. 

0 Comment's

Comment Form

Submit Comment