在我使用对象数据库保留其实例的类中,我一直不得不这样做:
private string _name;
public string Name
{
get { return this._name; }
set { _name = value; this.Save(); }
}
而我宁愿输入这个:
[PersistedProperty(Name)]
private string _name;
其中 PersistedProperty 属性生成 Getter 和 Setter 就像默认的 [Property()] 属性一样,除了我想在生成的 Setter 中添加一行代码。
有没有办法可以创建一个这样做的属性?希望,它适用于 Intellisense。
默认的 [Property()] 属性是如何发挥作用的?如果我看到代码,我可以移植它......
注意:我实际上是在 Boo 中执行此操作的,但我想我会提供 c# 代码,因为更多人可能愿意回答这个问题,但是,如果有 Boo 特定的解决方案,我会全神贯注!
更新:
我的目标只是减少打字和混乱。事实证明,最简单的方法是使用基于我的类中的标记生成部分类的脚本。
从标记自动生成源代码(与部分类一起)很容易,实际上看起来是一种非常有前途的方法来解决我们通常尝试用继承和泛型类型解决的一些问题。