Anonymous method in C #

We have discussed that Delegate is used to reference any method that has the same sign as in Delegate. In other words, you can call a method that can be referenced by a Delegate using that Delegate object.

We discussed that Delegate in C # is used to reference any method that has the same sign as in Delegate. In other words, you can call a method that can be referenced by a Delegate using that Delegate object.

An anonymous method (Anonymous Method) in C # provides a technique to pass a code block as a delegate parameter. Anonymous methods are methods without names, only method bodies.

You do not need to specify the return type in an anonymous method; it is derived from the return statement inside that anonymous method body.

Write an anonymous method in C #

Anonymous methods (Anonymous Method) in C # are declared with the instance of the Delegate , with a delegate keyword. For example:

 delegate void NumberChanger ( int  n ); . NumberChanger  nc  = delegate ( int  x ) { Console . WriteLine ( "Anonymous Method: {0}" ,  x ); }; 

Console.WriteLine ("Anonymous Method: {0}" block , x); is the body of the anonymous method.

Delegate can be called both with anonymous methods as well as named methods in the same way, for example, by passing method parameters to the Delegate object.

For example:

 nc ( 10 ); 

For example:

Here is an example illustrating the concept above:

 using System ; delegate void NumberChanger ( int  n ); namespace Vd Delegate { class QTMDelegate { static int  num  = 20 ; public static void AddNum ( int  p ) {  num  +=  p ; Console . WriteLine ( "Phương thức được đặt tên: {0}" ,  num ); } public static void MultNum ( int  q ) {  num  *=  q ; Console . WriteLine ( "Phương thức được đặt tên: {0}" ,  num ); } public static int  getNum () { return  num ; } static void Main ( string []  args ) { //Tạo delegate sử dụng phương thức nặc danh NumberChanger  nc  = delegate ( int  x ) { Console . WriteLine ( "Phương thức nặc danh: {0}" ,  x ); }; //Gọi delegate sử dụng phương thức nặc danh  nc ( 11 ); //Khởi tạo delegate sử dụng phương thức được đặt tên   nc  = new NumberChanger ( AddNum ); //Gọi delegate sử dụng phương thức được đặt tên   nc ( 10 ); //Khởi tạo delegate sử dụng phương thức được đặt tên khác   nc  = new NumberChanger ( MultNum ); //Gọi delegate sử dụng phương thức được đặt tên   nc ( 5 ); Console . ReadKey (); } } } 

When you run the C # program, you will get the results on the screen as follows:

  Anonymous method: 11 
Named method: 30
Named method: 150

According to Tutorialspoint

Previous article: Generic in C #

Next article: Unsafe code in C #

« PREV POST
READ NEXT »