Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Phương thức nặc danh (Anonymous Methods) trong C#


Truyền khối mã làm tham số delegate trong C#, sử dụng các phương thức nặc danh (Anonymous methods). Các phương thức nặc danh là những phương thức không có tên, chỉ có thân phương thức.

Đây là cách khai báo phương thức nặc danh:

delegate void DemoMethod(int n); 
... 
DemoMethod dm = delegate(int a) 
{ 
    Console.WriteLine("Our Anonymous Method: {0}", a); 
};

Như trên, phần thân của phương thức nặc danh là:

Console.WriteLine("Our Anonymous Method: {0}", a);

Ví dụ

Bạn có thể chạy mã sau để triển khai phương thức nặc danh trong C#:

using System; 

delegate void Demo(int n); 

namespace MyDelegate 
{ 
    class TestDelegate 
    { 
        static int num = 10; 
        
        public static void DisplayAdd(int p) 
        { 
            num += p; 
            Console.WriteLine("Named Method: {0}", num); 
        } 
        
        public static void DisplayMult(int q) 
        { 
            num *= q; 
            Console.WriteLine("Named Method: {0}", num); 
        } 
        
        public static int getNum() 
        { 
            return num; 
        } 
        
        static void Main(string[] args) 
        { 
            Demo dm = delegate(int x) 
            { 
                Console.WriteLine("Anonymous Method: {0}", x); 
            }; 
            
            // gọi delegate dùng phương thức nặc danh 
            dm(15); 
            
            // khởi tạo delegate dùng phương thức có tên 
            dm = new Demo(DisplayAdd); 
            // gọi delegate dùng phương thức có tên 
            dm(10); 
            
            // khởi tạo delegate dùng phương thức có tên khác 
            dm = new Demo(DisplayMult); 
            // gọi delegate dùng phương thức có tên 
            dm(4); 
            
            Console.ReadKey(); 
        } 
    } 
}

Kết quả

Anonymous Method: 15 
Named Method: 20 
Named Method: 80