通知外部参数更改的更改

我需要将通知更改事件附加到外部类中的封装参数。 我通常会实现INotifyPropertyChanged ,但我无法编辑外部类。 这个问题的正确方法是什么?

那将是非常困难的。 最好的选择似乎是派生该类,但您需要将所有属性标记为virtual 。 当你无法控制似乎不太可能的类时。

如果您是唯一一个调用该类的人,您还可以创建一个模仿该类行为的包装器。 您可以自己创建属性并实现INotifyPropertyChanged 。 但是,您无法获得有关更改为内部对象的通知。

如果这是您的最佳选择,您还可以实现一个隐式转换运算符,这样您就可以传入类,就像您要包装的类一样。

蛮力方法可以是使用计时器,该计时器每隔(比如)1秒一直查看该属性的值,并在属性值与先前读取不同时通知您。 定时器使用自己的轻量级线程,因此这不应该对资源造成很大负担。 看看你所处的困境,这似乎是唯一可行的选择。