11
Làm thế nào để thực hiện INotifyPropertyChanged để sử dụng trong kiểu F #? Cảm ơn!F #: Sử dụng INotifyPropertyChanged để ràng buộc dữ liệu
Làm thế nào để thực hiện INotifyPropertyChanged để sử dụng trong kiểu F #? Cảm ơn!F #: Sử dụng INotifyPropertyChanged để ràng buộc dữ liệu
Đó là về cơ bản giống như trong bất kỳ ngôn ngữ khác:
open System.ComponentModel
type MyType() =
let ev = new Event<_,_>()
let mutable str = ""
member x.StringProp
with get() = str
and set(str') =
str <- str'
ev.Trigger(x, PropertyChangedEventArgs("StringProp"))
interface INotifyPropertyChanged with
[<CLIEvent>]
member x.PropertyChanged = ev.Publish
Đó không phải là "cơ bản giống nhau" như các ngôn ngữ khác: P –
Cảm ơn, gì chính xác là [] thuộc tính làm gì? Tôi không thể tìm thấy bất kỳ tài liệu nào về nó. –
rysama
@RodYan - nó ảnh hưởng đến biểu mẫu đã biên dịch mà sự kiện diễn ra; cho interop với các ngôn ngữ .NET khác (và để thực hiện các giao diện phơi bày các sự kiện .NET), bạn sẽ cần áp dụng nó cho một giá trị IEvent. Điều này làm cho các phương thức 'add_' và' remove_' được tạo ra, trái ngược với thực sự phơi bày một thuộc tính của kiểu 'IEvent <_,_>', như được mô tả tại http://msdn.microsoft.com/en-us/library/ee370437(VS .100) .aspx. – kvb