Sco*_*ker 12 wpf resharper inotifypropertychanged
当我有一个我声明实现然后INotifyPropertyChanged
接口的类时,ReSharper将自动生成这个实现:
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged(string propertyName)
{
var handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
Run Code Online (Sandbox Code Playgroud)
我一直在编辑这个:
public event PropertyChangedEventHandler PropertyChanged = delegate { };
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
Run Code Online (Sandbox Code Playgroud)
我可以以某种方式编辑自动生成的代码吗?Resharper的文档对我来说不太清楚.
不,你不能编辑自动生成的代码,因为它需要在生成时处理许多可能性 - 例如C#6使用?.
运算符,并且它还需要处理事件已存在且已经初始化的时间.
如果您确实想使用没有局部变量和空检查的速记版本,则可以先创建事件,然后= () => { };
在生成OnPropertyChanged
方法之前将其初始化.但是,为了线程安全,最好保留本地var + null检查.
归档时间: |
|
查看次数: |
432 次 |
最近记录: |