解决方法
不,不可能.如果您是代码生成的所有者,则应该放置钩子来处理该场景.例如,LinqTosql的sqlMetal.exe生成部分类,其中每个属性setter看起来有点像这样:
@H_404_12@if (this.myProperty != value)
{
this.OnMyPropertyChanging(value);
this.SendPropertyChanging();
this.myProperty = value;
this.SendPropertyChanged("MyProperty");
this.OnMyPropertyChanged();
}
当然,生成器还会创建特定于属性的更改/更改方法,但是它们将这些方法声明为部分:
@H_404_12@partial void OnMyPropertyChanging(string newValue); partial void OnMyPropertyChanged();通过这种设置,显然很容易为扩展分部类接收这些事件.