【备忘】接口

INotifyPropertyChanged

INotifyPropertyChanged 接口用于向客户端(通常是执行绑定的客户端)发出某一属性值已更改的通知。

例如,考虑一个带有名为 FirstName 属性的 Person 对象。若要提供一般性属性更改通知,则 Person 类型实现 INotifyPropertyChanged 接口并在FirstName 更改时引发 PropertyChanged 事件。

若要在将客户端与数据源进行绑定时发出更改通知,则绑定类型应具有下列任一功能:

  • 实现 INotifyPropertyChanged 接口(首选)。
  • 为绑定类型的每个属性提供更改事件。

上述这两个功能不要同时实现。

查看官方文档MSDN

ICloneable

ICloneable 接口可以提供创建现有对象中复制的自定义实现。 ICloneable 接口包含一个成员,Clone 方法,旨在提供克隆在Object.MemberwiseClone提供的功能外支持。有关克隆、 深与浅副本和示例的更多信息,请参见 Object.MemberwiseClone 方法。

查看官方文档MSDN

IComparable 和 IComparer

IComparableIComparer 接口是 .NET Framework 中比较对象的标准方式。这两个接口之间的差别如下:

  • IComparable 在要比较的对象的类中实现,可以比较该对象和另一个对象。
  • IComparer 在一个单独的类中实现,可以比较任意两个对象。

IComparable 提供了一个方法CompareTo(),这个方法接受一个对象。例如,实现可以为实现方法传送一个Person 对象,以便确定这个人是否比当前的人更年老还是更年轻。实际上,这个方法返回一个int,所以也可以确定第二个人与当前的人的年龄差。

查看官方文档MSDN

原文地址:https://www.cnblogs.com/zhuyulong/p/5571106.html