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 #

4 ★ | 1 Vote

Maybe you are interested