今天,我在网上阅读了有关Fody.PropertyChanged的新插件,它非常简单易用。
目前,我正在使用MVVMCross,我们必须一次又一次调用RaisePropertyChange(()=> Property)。在MVVMCross中使用Fody.PropertyChanged是否安全?任何有经验的人,我也会观看使用MVVMCross和Foody.RaisePropertyChange的示例。
https://github.com/slodge/BindingTalk/blob/master/BindingTalk.Droid/ViewModels/FodySimpleViewModel.cs
还是MVVMCross中有任何解决方案,可以一次又一次使用RaisPropertyChange()摆脱它
谢谢,
最良好的问候
Fody.PropertyChanged不应比手动调用慢RaisePropertyChanged
。Fody.PropertyChanged有效执行的工作是在编译时为您编写该代码。
因此,您不必键入所有这些混乱的RaisePropertyChanged
调用,也不必查看它们,从而使您的代码更简洁。但是,如果您查看要编译的内容(使用ILSpy或类似程序),则会发现它们都是为您自动添加的。因此,从性能的角度来看,应该没有区别,但是它使您的代码更易于编写,阅读和维护。
我是Fody.PropertyChanged的忠实粉丝。我已经将它与MVVM Light(我认为它类似于MVVMCross)一起使用了很多年,但我从未发现它是导致速度下降的原因。我绝对建议您尝试一下。
如果您正在使用版本控制(应该使用版本控制),则提交您的项目,安装Fody.PropertyChanged,摆脱所有这些RaisePropertyChanged
调用,然后观察魔术的发生。如果您不喜欢它,可以随时返回到以前的版本。