###前提・実現したいこと
ReactiveExtensionsでコレクションの各アイテムから発行されるイベントを購読したいです。
意味のないコードですが、こんな感じです。
VB.net
1Public Class ItemMember 2 Public Event SomethingEvent As EventHandler 3 Public Sub DoSomething(e As EventArgs) 4 RaiseEvent OnSomething(Me, e) 5 End Sub 6 Protected Sub OnSomething(e As EventArgs) 7 RaiseEvent SomethingEvent(Me, e) 8 End Sub 9End Public 10 11Public Class Person 12 Public ReadOnly Property Items As ObservableCollection(Of ItemMember) 13 Public Sub New() 14 Items = New ObservableCollection(Of ItemMember) 15 Items.Add(new ItemMember) 16 'ここでコレクションアイテムのイベントを購読 17 Observable.FromEvent(Of EventHandler, EventArgs)( ・・・ ).Subscribe() 18 ' 19 Items.First.DoSomething(new EventArgs) 20 End Sub 21End Public
###試したこと
ReactivePropertyのPropertyChangedAsObservable拡張メソッドが
PropertyChangedEventHandlerを購読するような感じでこれをEventHandlerとすればよいのかな考えています。
リンク内容
C#
1/// <summary>Converts PropertyChanged to an observable sequence.</summary> 2public static IObservable<PropertyChangedEventArgs> PropertyChangedAsObservable<T>(this T subject) 3 where T : INotifyPropertyChanged => 4 Observable.FromEvent<PropertyChangedEventHandler, PropertyChangedEventArgs>( 5 h => (sender, e) => h(e), 6 h => subject.PropertyChanged += h, 7 h => subject.PropertyChanged -= h);
公開されているソースコードはC#なのですが、これをVBに置き換えたいです。
変換サービスを使用してみましたが正しく変換されませんでした。
h => subject.PropertyChanged += h のあたりがVBに置き換えるとどうなるのかわかりません。
なのでここで行き詰ってしまいました。
###補足情報(言語/FW/ツール等のバージョンなど)
VisualStudio2015(VB)
ReactiveExtensions
ReactiveProperty
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。