在基类中实现INotifyPropertyChanged或类似的自定义事件

时间:2009-10-02 12:50:28

标签: c# inheritance aop inotifypropertychanged castle

有没有办法做到这一点:

我需要开发一种最简单的方法来支持注册某些类的属性更改。除了添加INotifyProperyChanged支持的手动方式之外,还有一种方法可以这样做:

class Base ... // all notification logic here

class Child
{
    public string Name { get; set; }
    public int SomeNumber { get; set; }
    // etc....
}

以便我可以执行Child.PropertyChanged + = some_handler并仅在Child属性更改时收到通知。 这不适用于NHibernate或其他任何东西,它适用于整个项目的手动使用。我已经研究过使用Castle Dynamic Proxy(如here)这样做的一些例子,但我不明白如何利用它:(

当然想在那里探索框架和AOP,我现在还没有enuogh时间......

提前感谢您提出任何意见......

1 个答案:

答案 0 :(得分:2)

Proxies或AOP确实是您自动执行此操作的唯一选择,因此您需要找到时间进行调查或执行good old-fashioned way