2009-11-08 65 views

回答

15

這是基本相同的其他語言:

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 
+9

這是不是「基本相同」的其他語言:P – 2009-11-08 23:10:15

+1

謝謝, 究竟是[]屬性呢?我似乎無法找到任何文件。 – rysama 2009-11-08 23:17:00

+4

@RodYan - 它影響事件所需的編譯形式;與其他.NET語言進行互操作(並實現暴露.NET事件的接口),您需要將其應用於IEvent值。這導致生成add_和remove_方法,而不是實際公開類型爲「IEvent <_,_>」的屬性,如http://msdn.microsoft.com/en-us/library/ee370437(VS .100)的.aspx。 – kvb 2009-11-08 23:28:46

相關問題