我是.NET的新手我之前的工作是PLC程序员.我有旧的应用程序,我使用Reactive Extension for .NET.
我很长时间没有维护这个应用程序.现在我为Reactive Extension下载了新版本,但是我在使用旧代码时遇到了问题.
我知道Rx中的某些部分已经改变了.
这是旧代码的问题:
- Observable.FromEvent<PropertyChangedEventArgs>(this,"PropertyChanged")
- .Where(e => e.EventArgs.PropertyName == "Nick")
- .Select(_ => this.Nick)
- .Where(text => text.Length > 3)
- .Do(LoadUser)
- .Throttle(TimeSpan.FromSeconds(3000))
- .Subscribe(LoadUser);
我有这个例外:
- Error 3 Argument 1: cannot convert from 'Spirit.viewmodels.AddFriendviewmodel' to 'System.Action<System.Action<System.ComponentModel.PropertyChangedEventArgs>>' E:\C#_Projects\Pokec_Messenger\Spirit_Caliburn_Micro_v1.0\viewmodels\AddFriendviewmodel.cs 123 60 Spirit_Caliburn_Micro_v1.0
- Error 4 Argument 2: cannot convert from 'string' to 'System.Action<System.Action<System.ComponentModel.PropertyChangedEventArgs>>' E:\C#_Projects\Pokec_Messenger\Spirit_Caliburn_Micro_v1.0\viewmodels\AddFriendviewmodel.cs 123 65 Spirit_Caliburn_Micro_v1.0
- Error 2 The best overloaded method match for 'System.Reactive.Linq.Observable.FromEvent<System.ComponentModel.PropertyChangedEventArgs>(System.Action<System.Action<System.ComponentModel.PropertyChangedEventArgs>>,System.Action<System.Action<System.ComponentModel.PropertyChangedEventArgs>>)' has some invalid arguments E:\C#_Projects\Pokec_Messenger\Spirit_Caliburn_Micro_v1.0\viewmodels\AddFriendviewmodel.cs 123 13 Spirit_Caliburn_Micro_v1.0
谢谢你的建议.
解决方法
在最新版本(1.1.10425.0)中,您需要使用FromEventPattern()