.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 }

 

posted @ 2016-01-08 15:58  厚利谢特  阅读(850)  评论(0编辑  收藏  举报