Đố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:
Đăng nhận xét