最开始见的是PostSharp的一个实现: http://doc.postsharp.net/inotifypropertychanged-add。不过PostSharp是收费的,后来也逐渐由了许多其它的免费的解决方案。本文这里介绍的是一个开源的解决方案:Fody。
使用它非常简单,首先通过Nuget安装库:PM> Install-Package PropertyChanged.Fody。然后在需要实现属性通知的类上加一个[ImplementPropertyChanged]即可:
[AddINotifyPropertyChangedInterface] public class Person { public string GivenNames { get; set; } public string FamilyName { get; set; } public string FullName => string.Format("{0} {1}", GivenNames, FamilyName); }