Cra*_*col 5 c# attributes properties
我有一个包含大量属性的类,如下所示:
public string Name
{
get { return _name; }
set { IsDirty = true; _name = value; }
}
Run Code Online (Sandbox Code Playgroud)
如果我可以依靠C#3.0来为这些生成后备存储,那将会容易得多,但有没有办法将IsDirty = true分解出去; 这样我就可以编写类似这样的属性并仍然得到相同的行为:
[MakesDirty]
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)
不是没有写出比原始版本更多(奥术?)代码(你必须使用反射来检查属性上的属性以及什么不是......我提到它是'慢').这是我可以忍受的那种重复.
当财产发生变化时, MS同样需要提升事件.INotifyPropertyChanged是变更通知的重要界面.我见过的每一个实现都有
set
{
_name = value;
NotifyPropertyChanged("Name");
}
Run Code Online (Sandbox Code Playgroud)
如果有可能的话,我会认为MS的那些聪明人已经有了类似的东西......
归档时间: |
|
查看次数: |
1604 次 |
最近记录: |