如何使用nameof而不是魔术字符串实现INotifyPropertyChanged?

问题描述 投票:7回答:5

我正在阅读有关C#6中新的nameof关键字的信息。我想知道如何使用此关键字实现INotifyPropertyChanged,前提条件(当然不是C#6)是什么前提条件,它将如何影响MVVM应用程序的性能?

c# mvvm inotifypropertychanged c#-6.0
5个回答
10
投票
它看起来像这样:

public string Foo { get { return this.foo; } set { if (value != this.foo) { this.foo = value; OnPropertyChanged(nameof(Foo)); } } }


6
投票
这只是使用nameof()而不是魔术字符串的问题。下面的例子来自我关于这个主题的blog article

3
投票
这是使用新的C#6.0糖的类的完整代码示例:

3
投票
[我发现使用PropertyChanged.Fody会容易得多,因为最终您会减少错误,并获得更清晰的代码,请参阅-https://github.com/Fody/PropertyChanged

0
投票
Microsoft正在帮助我们! (Microsoft
© www.soinside.com 2019 - 2024. All rights reserved.