我正在开发一个WPF应用程序。用户可以在表单中更改他们的地址。当用户单击一个按钮(更改他们的地址)并使用UserInfoEventArgs处理一些信息时,我想引发一个事件。我正在尝试使用反应性扩展。
MS Documentation (Subject constructor)
我有两个疑问。如何订阅mySubject,以及如何将UserInfoEventArgs添加到主题。
Subject<string[]> mySubject = new Subject<string[]>();
// How to subscribe to mySubject and use the method "AddressSubscriber" as the subscriber?
private void UserDataChangedHandler (object sender, UserInfoEventArgs info)
{
string[] updatedAddress = info.NewAddress.ToArray();
if (updatedAddress.Any())
{
// How to add "updatedAddress" to mySubject so that "AddressSubscriber" can use it?
}
}
private void AddressSubscriber(string[] adrs)
{
// Do some operations with adrs
}发布于 2022-03-07 13:52:08
使用Observable.FromEventPattern方法而不是创建多余的Subject<T>
Observable.FromEventPattern<RoutedEventHandler, RoutedEventArgs>(
h => btn.Click += h,
h => btn.Click -= h)
.Select(_ => new UserInfoEventArgs())
.Subscribe(args => { /* do something with the args...*/ });发布于 2022-03-05 07:29:30
如何订阅
mySubject并使用方法AddressSubscriber作为订阅者?
mySubject.Subscribe(adrs => AddressSubscriber(adrs));如何将
updatedAddress添加到mySubject中以便AddressSubscriber可以使用它?
mySubject.OnNext(updatedAddress);https://stackoverflow.com/questions/71353420
复制相似问题