PDA

View Full Version : Phương thức mở rộng



chungvt19
07-05-2011, 17:28
mấy bạn giải thích cho mình hiểu hơn về phương thức mở rộn trong C # với, có thêm ví dụ cho mình dễ hiểu hơn nhé. thanks

bindoremon
12-05-2011, 10:31
Bạn có một class đã được đóng gói vào dll. Bạn cần thêm một vài phương thức vào class đó mà không cần mở gói dll đó ra sửa -> sử dụng extension method.
Ví dụ mình muốn thêm một hàm IsNatural vào class Int32 để kiểm tra một số có phải là số tự nhiên không


public static bool IsNatural(this Int32 value)
{
return value >= 0;
}

Đặt đoạn code này trong một public static class nào đấy, build.
Bây giờ bạn thử khai báo một biến int a; sẽ thấy nó có thêm phương thức IsNatural.

chungvt19
12-05-2011, 22:35
chắc cái này cũng giống định nghĩa 1 hàm rồi ta gọi hàm đó nhề :)
Thank bạn nhiều nhá !!
chho mình hỏi thêm chỗ này : public static bool IsNatural(this Int32 value)
bạn giải thick rõ hơn về cách khai báo extension method,