当前位置:  开发笔记 > 编程语言 > 正文

重复代码的c#属性

如何解决《重复代码的c#属性》经验,为你挑选了1个好方法。

我有一个包含大量属性的类,如下所示:

public string Name
{
    get { return _name; }
    set { IsDirty = true; _name = value; }
}

如果我可以依靠C#3.0来为这些生成后备存储,那将会容易得多,但有没有办法将IsDirty = true分解出去; 这样我就可以编写类似这样的属性并仍然得到相同的行为:

[MakesDirty]
public string Name { get; set; }

Gishu.. 5

不是没有写出比原始版本更多(奥术?)代码(你必须使用反射来检查属性上的属性以及什么不是......我提到它是'慢').这是我可以忍受的那种重复.

当财产发生变化时, MS同样需要提升事件.INotifyPropertyChanged是变更通知的重要界面.我见过的每一个实现都有

set
{ 
  _name = value; 
  NotifyPropertyChanged("Name"); 
}

如果有可能的话,我会认为MS的那些聪明人已经有了类似的东西......



1> Gishu..:

不是没有写出比原始版本更多(奥术?)代码(你必须使用反射来检查属性上的属性以及什么不是......我提到它是'慢').这是我可以忍受的那种重复.

当财产发生变化时, MS同样需要提升事件.INotifyPropertyChanged是变更通知的重要界面.我见过的每一个实现都有

set
{ 
  _name = value; 
  NotifyPropertyChanged("Name"); 
}

如果有可能的话,我会认为MS的那些聪明人已经有了类似的东西......

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有