Tôi hiện đang có một trang được khai báo như sau:Sử dụng biểu thức lambda cho xử lý sự kiện
public partial class MyPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//snip
MyButton.Click += (o, i) =>
{
//snip
}
}
}
Tôi chỉ vừa mới chuyển đến NET 3.5 từ 1.1, vì vậy tôi sử dụng để quản lí sự kiện bên ngoài của Page_Load. Câu hỏi của tôi là; có bất kỳ hạn chế hiệu suất hoặc cạm bẫy tôi nên xem ra khi sử dụng phương pháp lambda cho điều này? Tôi thích nó, vì nó chắc chắn ngắn gọn hơn, nhưng tôi không muốn hy sinh hiệu suất để sử dụng nó. Cảm ơn.
Tôi hiểu. Vì vậy, cũng không có nhược điểm từ việc có các trình xử lý bên trong Page_Load so với việc có chúng bên ngoài nó? –
Quy ước hiện hành là gắn các trình xử lý sự kiện vào phương thức 'OnInit' nhưng vì sự kiện' Click' của nút sẽ được nâng lên sau khi trang tải ví dụ này là tốt. –
Điều quan trọng cần lưu ý là không giữ lại tham chiếu đến đại biểu, bạn không thể hủy đăng ký khỏi sự kiện. – snarf