INotifyPropertyChanged
INotifyPropertyChanged 接口用于向客户端(通常是执行绑定的客户端)发出某一属性值已更改的通知。
例如,考虑一个带有名为 FirstName 属性的 Person 对象。若要提供一般性属性更改通知,则 Person 类型实现 INotifyPropertyChanged 接口并在FirstName 更改时引发 PropertyChanged 事件。
若要在将客户端与数据源进行绑定时发出更改通知,则绑定类型应具有下列任一功能:
- 实现 INotifyPropertyChanged 接口(首选)。
- 为绑定类型的每个属性提供更改事件。
上述这两个功能不要同时实现。
查看官方文档:MSDN
ICloneable
ICloneable 接口可以提供创建现有对象中复制的自定义实现。 ICloneable 接口包含一个成员,Clone 方法,旨在提供克隆在Object.MemberwiseClone提供的功能外支持。有关克隆、 深与浅副本和示例的更多信息,请参见 Object.MemberwiseClone 方法。
查看官方文档:MSDN
IComparable 和 IComparer
IComparable
和 IComparer
接口是 .NET Framework 中比较对象的标准方式。这两个接口之间的差别如下:
- IComparable 在要比较的对象的类中实现,可以比较该对象和另一个对象。
- IComparer 在一个单独的类中实现,可以比较任意两个对象。
IComparable 提供了一个方法CompareTo(),这个方法接受一个对象。例如,实现可以为实现方法传送一个Person 对象,以便确定这个人是否比当前的人更年老还是更年轻。实际上,这个方法返回一个int,所以也可以确定第二个人与当前的人的年龄差。
查看官方文档:MSDN