Thứ Tư, 21 tháng 7, 2010

Delegates (....)


Đối tượng được khởi tạo từ Delegate là một đối tượng đặc biệt và nó có thể  sử bất cứ phương thức nào của class khác miễn sao nó được sự cho phép của class đó, và có trùng kiểu tham số
 Do đó Delegates sẽ mang đầy đủ các tính chất của một class  đó là
 + Xây dựng Delegate
 + Khởi tạo đối tượng bằng phép toán new

EX:  trong project , chúng ta xây dựng  2 file với nội dung như sau , class1.cs và progam.cs

File Class1.cs
namespace Working_Delegates
{
    class Class1
    {
        int c;
        public void subtract(int a, int b)
        {
            c = a - b;
            Console.WriteLine("subtrack result : {0}",c);
        }
    }
    public delegate void Mydelege(int i, int j);
}

            File progam.cs
            namespace Working_Delegates
{
    class Program
    {
        static void Main(string[] args)
        {
            Mydelege tru = new Mydelege(pheptru.subtract);
            tru(15, 15);
            pheptru.subtract(15,6);
        }
    }
}



Trong ví dụ trên thì việc sử dụng delegates sẽ làm tăng thêm 1 bước thao tác và chúng ta cảm thấy thực chất làm tăng thêm tính phức tạp mà thôi, nhưng delegate sẽ có ứng dụng lớn trong winform ?
   Giả sử chúng ta xây dựng một Form , trên form có một button1 , và một sự kiện Onclick( sự kiện này ta có thể đặt tên bằng cách nhấn vào hình tia sét trong biểu tượng Properties và tìm đến mục Onlcick), như vậy chúng ta muốn đặt tên trời tên đất gì thì đặt (Miễn nó hợp lệ) nhưng cuối cùng thì nó vẫn phải tuân theo quy tắc chuẩn của delegate

 Bây giờ mở file Form1.Designed.cs tìm trong đó chúng ta sẽ thấy có đoạn sau
this.button1.Click += new System.EventHandler(this. Nhan_motPhat);
và trong  File Form1.cs
private void Nhan_motPhat(object sender, EventArgs e)
        {
            // Event
           
        }
…Còn nữa …Nhưng đi học cái đã khi khác viết tiếp J

Không có nhận xét nào: