11
¿Cómo implementaría INotifyPropertyChanged para usar en un tipo F #? Gracias!F #: Usar INotifyPropertyChanged para el enlace de datos
¿Cómo implementaría INotifyPropertyChanged para usar en un tipo F #? Gracias!F #: Usar INotifyPropertyChanged para el enlace de datos
Es básicamente el mismo que en cualquier otro idioma:
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
Eso no es "básicamente los mismos", como otros idiomas: P Gracias –
, cuál es exactamente el [] de atributo hacer? Parece que no puedo encontrar la documentación en él. –
rysama
@RodYan: afecta al formulario compilado que toma el evento; para la interoperabilidad con otros lenguajes .NET (y para implementar interfaces que exponen eventos .NET), deberá aplicarlo a un valor de IEvent. Esto hace que se generen los métodos 'add_' y' remove_', en lugar de exponer realmente una propiedad de tipo 'IEvent <_,_>', como se describe en http://msdn.microsoft.com/en-us/library/ee370437(VS .100) .aspx. – kvb