Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เมธอดไม่ระบุชื่อ (Anonymous Methods) ใน C# คืออะไร

เมธอดไม่ระบุชื่อ คือ เมธอดที่ไม่มีชื่อ ให้เทคนิคส่งบล็อกโค้ดเป็นพารามิเตอร์เดลิเกต

ประกาศพร้อมการสร้างอินสแตนซ์เดลิเกต ด้วยคีย์เวิร์ด delegate

ตัวอย่าง

using System; 
delegate void Demo(int n); 
namespace DelegateAppl { 
    class TestDelegate { 
        static int num = 50; 
        public static void AddNum(int p) { 
            num += p; 
            Console.WriteLine("Named Method: {0}", num); 
        } 
        public static void MultNum(int q) { 
            num *= q; 
            Console.WriteLine("Named Method: {0}", num); 
        } 
        public static int getNum() { return num; } 
        static void Main(string[] args) { 
            // สร้างอินสแตนซ์เดลิเกตด้วยเมธอดไม่ระบุชื่อ 
            Demo d = delegate(int x) { 
                Console.WriteLine("Anonymous Method: {0}", x); 
            }; 
            // เรียกใช้เดลิเกตด้วยเมธอดไม่ระบุชื่อ 
            d(100); 
            // สร้างอินสแตนซ์เดลิเกตด้วยเมธอดที่มีชื่อ 
            d = new Demo(AddNum); 
            d(5); 
            d = new Demo(MultNum); 
            d(2); 
            Console.ReadKey(); 
        } 
    } 
}

ผลลัพธ์

Anonymous Method: 100 Named Method: 55 Named Method: 110

โค้ดด้านบนคือเมธอดไม่ระบุชื่อของเรา:

Demo d = delegate(int x) { Console.WriteLine("Anonymous Method: {0}", x); };