2010-09-20 27 views

Trả lời

3

Rất tiếc, bạn không thể làm điều đó. Bạn có thể tạo một địa phương để giữ lambda nếu bạn xóa sự kiện trong cùng một phạm vi:

Binding bndTitle = this.DataBindings.Add("Text", obj, "Title"); 
EventHandler handler = (sender, e) => 
{ 
    e.Value = "asdf" + e.Value; 
}; 

bndTitle.Format += handler; 
// ... 
bndTitle.Format -= handler; 
+0

Bạn không thể "Không thể gán biểu thức lambda cho biến cục bộ được nhập hoàn toàn". Nó sẽ phải là trình xử lý ConvertEventHandler = (người gửi, e) => { e.Value = "asdf" + e.Value; }; –

+0

Và vì bạn phải gán cho nó một loại, nó không thể ẩn danh. –

+0

@Richard Hein bạn sai, phương pháp có thể được ẩn danh nhưng có một loại (được chuyển đổi thành đại biểu). Tính vô danh của phương thức (lambda) có nghĩa là nó không thể được tham chiếu theo tên. – Andrey

Các vấn đề liên quan