tôi phơi bày một sự kiện từ F # C# như thế này:C# sự kiện kiểu phụ kiện cho sự kiện CLI trong F #
let event = new DelegateEvent<EventHandler>()
member x.Ping() = event.Trigger([| x; EventArgs.Empty |])
[<CLIEvent>]
member x.PingEvent = event.Publish
Nhưng tôi muốn một số mã để chạy bất cứ khi nào xử lý được thêm vào hoặc gỡ bỏ. Tôi nghĩ rằng điều này có thể được thực hiện trong C# như sau:
public event EventHandler PingEvent
{
add
{
//do something
}
remove
{
//do something
}
}
Làm cách nào để viết nội dung trên trong F #?
Tôi nghĩ rằng 'mới tổ chức sự kiện <'a>() 'trên dòng đầu tiên là không cần thiết. Bạn có muốn viết chỉ {{new IEvent <'a> with ...} '? Vì nó, nó tạo ra một sự thực thi 'IEvent' cũng thừa hưởng' Event', nhưng lớp cơ sở không được sử dụng cho bất cứ thứ gì (và không cần thiết). –
@Tomas - bạn hoàn toàn đúng. Tôi sẽ chỉnh sửa câu trả lời của mình. – kvb
Làm việc như một sự quyến rũ. Cảm ơn bạn! – petebu