ReSharper 2025.2 Help

INotifyPropertyChanged 支持

INotifyPropertyChanged 接口在 .NET 应用程序中被广泛使用,用于在属性值发生更改时发送通知。 ReSharper 提供了一组功能,帮助您实现此接口。

ReSharper 帮助为以下框架实现属性更改通知:

  • MVVM Light(WPF、Silverlight、Windows Phone、通用应用)

  • Caliburn.Micro(WPF、Silverlight、Windows Phone、通用应用)

  • Prism(WPF;Silverlight、Windows Phone)

  • Catel(WPF、Silverlight、Windows Phone、WinRT、ASP.NET MVC)

  • MVVMHelpers(WPF 3 和 4,仅支持 lambda 表达式)

  • Avalonia

首先,ReSharper 检测到正在使用 INotifyPropertyChanged 接口,并提供一个特殊的快速修复以放置所需的实现。

ReSharper:INotifyPropertyChanged 支持

应用快速修复后,ReSharper 会生成一个用于属性更改通知的方法,并提示您为此方法提供一个名称。

ReSharper:INotifyPropertyChanged 支持

如上图所示,生成的方法被标记为 [NotifyPropertyChangedInvocator] 属性 ,这使得 INotifyPropertyChanged 接口得到了全面支持,包括为属性添加更改通知、验证和完成字符串字面量中的属性名称、导航到属性、重构和代码生成的支持。 建议在生成实现之前, 向项目添加 ReSharper 注解属性

如果您的类中有一些属性未通知更改,您可以使用相应的 上下文操作 (仅当通知方法用 [NotifyPropertyChangedInvocator] 属性装饰时可用)轻松将它们转换为具有更改通知的属性:

ReSharper:INotifyPropertyChanged 支持

当您为现有字段生成属性时,如果有一个用 [NotifyPropertyChangedInvocator] 属性装饰的方法,您可以在 生成 对话框中选择 在属性更改时通知 复选框,以获取具有更改通知的属性:

ReSharper:INotifyPropertyChanged 支持

此外,ReSharper 为传递给 OnPropertyChanged 方法的参数提供了 代码检查代码补全

ReSharper 在 .NET Framework 4.5 项目中实现 INotifyPropertyChanged 时利用了 Caller Info 属性。 它还通过突出显示冗余参数并建议 快速修复 ,帮助迁移到基于 CallerMemberName 的实现。

ReSharper:INotifyPropertyChanged 支持
最后修改日期: 2025年 9月 27日