.Net 常用接口
IComparable
1 using System.Runtime.InteropServices; 2 3 namespace System 4 { 5 /// <summary> 6 /// 定义一种特定于类型的通用比较方法,值类型或类通过实现此方法对其实例进行排序。 7 /// </summary> 8 /// <filterpriority>1</filterpriority> 9 [ComVisible(true)] 10 [__DynamicallyInvokable] 11 public interface IComparable 12 { 13 /// <summary> 14 /// 将当前实例与同一类型的另一个对象进行比较,并返回一个整数,该整数指示当前实例在排序顺序中的位置是位于另一个对象之前、之后还是与其位置相同。 15 /// </summary> 16 /// 17 /// <returns> 18 /// 一个值,指示要比较的对象的相对顺序。返回值的含义如下:值含义小于零此实例在排序顺序中位于 <paramref name="obj"/> 之前。零此实例在排序顺序中的位置与 <paramref name="obj"/> 相同。大于零此实例在排序顺序中位于 <paramref name="obj"/> 之后。 19 /// </returns> 20 /// <param name="obj">与此实例进行比较的对象。</param><exception cref="T:System.ArgumentException"><paramref name="obj"/> 不具有与此实例相同的类型。</exception><filterpriority>2</filterpriority> 21 [__DynamicallyInvokable] 22 int CompareTo(object obj); 23 } 24 }
IComparable<T>
1 namespace System 2 { 3 [__DynamicallyInvokable] 4 public interface IComparable<in T> 5 { 6 [__DynamicallyInvokable] 7 int CompareTo(T other); 8 } 9 }
IComparer
1 using System.Runtime.InteropServices; 2 3 namespace System.Collections 4 { 5 [ComVisible(true)] 6 [__DynamicallyInvokable] 7 public interface IComparer 8 { 9 [__DynamicallyInvokable] 10 int Compare(object x, object y); 11 } 12 }
IComparer<T>
1 namespace System.Collections.Generic 2 { 3 /// <summary> 4 /// 定义类型为比较两个对象而实现的方法。 5 /// </summary> 6 /// <typeparam name="T">要比较的对象的类型。此类型参数是逆变。即可以使用指定的类型或派生程度更低的类型。有关协变和逆变的详细信息,请参阅 泛型中的协变和逆变。</typeparam><filterpriority>1</filterpriority> 7 [__DynamicallyInvokable] 8 public interface IComparer<in T> 9 { 10 /// <summary> 11 /// 比较两个对象并返回一个值,该值指示一个对象小于、等于还是大于另一个对象。 12 /// </summary> 13 /// 14 /// <returns> 15 /// 一个有符号整数,指示 <paramref name="x"/> 与 <paramref name="y"/> 的相对值,如下表所示。值含义小于零<paramref name="x"/> 小于 <paramref name="y"/>。零<paramref name="x"/> 等于 <paramref name="y"/>。大于零<paramref name="x"/> 大于 <paramref name="y"/>。 16 /// </returns> 17 /// <param name="x">要比较的第一个对象。</param><param name="y">要比较的第二个对象。</param> 18 [__DynamicallyInvokable] 19 int Compare(T x, T y); 20 } 21 }
IEnumerable
1 using System.Runtime.InteropServices; 2 3 namespace System.Collections 4 { 5 /// <summary> 6 /// 公开枚举数,该枚举数支持在非泛型集合上进行简单迭代。若要浏览此类型的 .NET Framework 源代码,请参阅引用源。 7 /// </summary> 8 /// <filterpriority>1</filterpriority> 9 [Guid("496B0ABE-CDEE-11d3-88E8-00902754C43A")] 10 [ComVisible(true)] 11 [__DynamicallyInvokable] 12 public interface IEnumerable 13 { 14 /// <summary> 15 /// 返回循环访问集合的枚举数。 16 /// </summary> 17 /// 18 /// <returns> 19 /// 可用于循环访问集合的 <see cref="T:System.Collections.IEnumerator"/> 对象。 20 /// </returns> 21 /// <filterpriority>2</filterpriority> 22 [DispId(-4)] 23 [__DynamicallyInvokable] 24 IEnumerator GetEnumerator(); 25 } 26 }
IEnumerable <T>
1 using System.Collections; 2 using System.Runtime.CompilerServices; 3 4 namespace System.Collections.Generic 5 { 6 /// <summary> 7 /// 公开枚举数,该枚举数支持在指定类型的集合上进行简单迭代。若要浏览此类型的.NET Framework 源代码,请参阅参考源。 8 /// </summary> 9 /// <typeparam name="T">要枚举的对象的类型。此类型参数是协变。即可以使用指定的类型或派生程度更高的类型。有关协变和逆变的详细信息,请参阅 泛型中的协变和逆变。</typeparam><filterpriority>1</filterpriority> 10 [TypeDependency("System.SZArrayHelper")] 11 [__DynamicallyInvokable] 12 public interface IEnumerable<out T> : IEnumerable 13 { 14 /// <summary> 15 /// 返回一个循环访问集合的枚举器。 16 /// </summary> 17 /// 18 /// <returns> 19 /// 用于循环访问集合的枚举数。 20 /// </returns> 21 /// <filterpriority>1</filterpriority> 22 [__DynamicallyInvokable] 23 IEnumerator<T> GetEnumerator(); 24 } 25 }
IEnumerator
1 using System.Runtime.InteropServices; 2 3 namespace System.Collections 4 { 5 [Guid("496B0ABF-CDEE-11d3-88E8-00902754C43A")] 6 [ComVisible(true)] 7 [__DynamicallyInvokable] 8 public interface IEnumerator 9 { 10 [__DynamicallyInvokable] 11 object Current { [__DynamicallyInvokable] get; } 12 13 [__DynamicallyInvokable] 14 bool MoveNext(); 15 16 [__DynamicallyInvokable] 17 void Reset(); 18 } 19 }
IEnumerator<T>
1 using System; 2 using System.Collections; 3 4 namespace System.Collections.Generic 5 { 6 /// <summary> 7 /// 支持在泛型集合上进行简单迭代。 8 /// </summary> 9 /// <typeparam name="T">要枚举的对象的类型。此类型参数是协变。即可以使用指定的类型或派生程度更高的类型。有关协变和逆变的详细信息,请参阅 泛型中的协变和逆变。</typeparam><filterpriority>1</filterpriority> 10 [__DynamicallyInvokable] 11 public interface IEnumerator<out T> : IDisposable, IEnumerator 12 { 13 /// <summary> 14 /// 获取集合中位于枚举数当前位置的元素。 15 /// </summary> 16 /// 17 /// <returns> 18 /// 集合中位于枚举数当前位置的元素。 19 /// </returns> 20 [__DynamicallyInvokable] 21 T Current { [__DynamicallyInvokable] get; } 22 } 23 }