我想为我的项目添加更多功能,该项目使用了打包在.NET Framework中的许多类。这些相同的类提供了许多属性,可以非常有用地调整我的项目的功能,然而,这些类缺少事件。
如果每个属性都有适当的事件,在此类属性更改其值时触发,那么我就可以分配事件处理程序,根据这些属性的值进行操作。
我制作了下面的示例案例,以最简单的方式说明我的目标。
样例案例: System.Net.Sockets.Socket类(Socket on MSDN Docs)有一个名为Connected的属性,基本上返回true,如果套接字连接到指定的端点,则返回false。 我想要实现的很简单。我想保持这个属性“观察”,当它的值发生变化时,触发一个事件。
使用INotifyPropertyChanged接口对我的一个类进行操作会很简单,尽管有点繁琐,因为每当我的代码更改属性值时,我都必须手动触发事件。不幸的是,据我所知,这种过程甚至不能应用于NET Framework中分布的现有
好吧,这个问题变得相当广泛了,抱歉,但我希望它能给我的目标提供一些见解。
现在简单地说,我想监视
当然,最好是采用简单轻量级的方法,但最重要的是,我想了解如何做到这一点,这样将来我就可以将其应用于其他类的大规模操作中。
我意识到我要求很多。非常感谢。
如果每个属性都有适当的事件,在此类属性更改其值时触发,那么我就可以分配事件处理程序,根据这些属性的值进行操作。
我制作了下面的示例案例,以最简单的方式说明我的目标。
样例案例: System.Net.Sockets.Socket类(Socket on MSDN Docs)有一个名为Connected的属性,基本上返回true,如果套接字连接到指定的端点,则返回false。 我想要实现的很简单。我想保持这个属性“观察”,当它的值发生变化时,触发一个事件。
使用INotifyPropertyChanged接口对我的一个类进行操作会很简单,尽管有点繁琐,因为每当我的代码更改属性值时,我都必须手动触发事件。不幸的是,据我所知,这种过程甚至不能应用于NET Framework中分布的现有
Socket
类。好吧,这个问题变得相当广泛了,抱歉,但我希望它能给我的目标提供一些见解。
现在简单地说,我想监视
Socket
类的Connected
属性,当其值发生变化时,触发一个事件。如果还可以使用这种方法来监视变量以及属性,那将是很棒的,不仅适用于我,而且适用于所有在SO上遇到这个问题的人。当然,最好是采用简单轻量级的方法,但最重要的是,我想了解如何做到这一点,这样将来我就可以将其应用于其他类的大规模操作中。
我意识到我要求很多。非常感谢。
Socket.Connected
)的任意成员状态变化。 - Chris Sinclair