11
Comment implémenter INotifyPropertyChanged pour une utilisation dans un type F #? Merci!F #: Utilisation de INotifyPropertyChanged pour la liaison de données
Comment implémenter INotifyPropertyChanged pour une utilisation dans un type F #? Merci!F #: Utilisation de INotifyPropertyChanged pour la liaison de données
Il est essentiellement le même que dans une autre langue:
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
Ce n'est pas « essentiellement les mêmes » que les autres langues: P –
Merci, Quelle est la [] attribut de faire exactement? Je n'arrive pas à trouver la documentation à ce sujet. –
rysama
@RodYan - il affecte la forme compilée que l'événement prend; Pour interopérer avec d'autres langages .NET (et implémenter des interfaces exposant des événements .NET), vous devez l'appliquer à une valeur IEvent. Cela provoque les méthodes 'add_' et' remove_' à générer, par opposition à réellement exposer une propriété de type 'IEvent <_,_>', comme décrit à http://msdn.microsoft.com/en-us/library/ee370437(VS 100) .aspx. – kvb