私は Reactive Extension を初めて使用しますが、残念ながら VB.NET を使用しているため、C# の例を VB.NET に変換する際に問題が発生しています。
シンプルな ObservableCollection(of String) を作成してサブスクライブしようとしています。コレクションに文字列が追加されるたびに、それをコンソールに出力したいと考えています。
この例を VB.NET に変換しようとしていますが、問題が発生しています。
var x = Observable.FromEventPattern<NotifyCollectionChangedEventHandler, NotifyCollectionChangedEventArgs>(
handler => (sender, e) => handler(sender, e),
handler => theList.CollectionChanged += handler,
handler => theList.CollectionChanged -= handler);
}
私はここまでやってきましたが、うまくいきません。単純だと思いますが、私は初心者です。
Dim changes = Observable.FromEventPattern(Of System.Collections.Specialized.NotifyCollectionChangedEventHandler, NotifyCollectionChangedEventArgs) _
(Function(handler) Function(sender, args) handler(sender, args), _
Function(handler) AddHandler theList.CollectionChanged, AddressOf handler, _
Function(handler) RemoveHandler theList.CollectionChanged, AddressOf handler)
不要なものを削除するのを手伝ってくれた@Gideon Engelberthに感謝しますAddressOf
。これはうまくコンパイルされました:
Dim changes = Observable.FromEventPattern(Of
System.Collections.Specialized.NotifyCollectionChangedEventHandler, _
NotifyCollectionChangedEventArgs) _
(Function(handler) Sub(sender, args) handler(sender, args), _
Sub(handler) AddHandler theList.CollectionChanged, handler, _
Sub(handler) RemoveHandler theList.CollectionChanged, handler)