您的位置:首页 > 其它

.Net 常用接口

2016-01-08 15:58 429 查看
IComparable

using System.Runtime.InteropServices;

namespace System
{
/// <summary>
/// 定义一种特定于类型的通用比较方法,值类型或类通过实现此方法对其实例进行排序。
/// </summary>
/// <filterpriority>1</filterpriority>
[ComVisible(true)]
[__DynamicallyInvokable]
public interface IComparable
{
/// <summary>
/// 将当前实例与同一类型的另一个对象进行比较,并返回一个整数,该整数指示当前实例在排序顺序中的位置是位于另一个对象之前、之后还是与其位置相同。
/// </summary>
///
/// <returns>
/// 一个值,指示要比较的对象的相对顺序。返回值的含义如下:值含义小于零此实例在排序顺序中位于 <paramref name="obj"/> 之前。零此实例在排序顺序中的位置与 <paramref name="obj"/> 相同。大于零此实例在排序顺序中位于 <paramref name="obj"/> 之后。
/// </returns>
/// <param name="obj">与此实例进行比较的对象。</param><exception cref="T:System.ArgumentException"><paramref name="obj"/> 不具有与此实例相同的类型。</exception><filterpriority>2</filterpriority>
[__DynamicallyInvokable]
int CompareTo(object obj);
}
}


IComparable<T>

namespace System
{
[__DynamicallyInvokable]
public interface IComparable<in T>
{
[__DynamicallyInvokable]
int CompareTo(T other);
}
}


IComparer

using System.Runtime.InteropServices;

namespace System.Collections
{
[ComVisible(true)]
[__DynamicallyInvokable]
public interface IComparer
{
[__DynamicallyInvokable]
int Compare(object x, object y);
}
}


IComparer<T>

namespace System.Collections.Generic
{
/// <summary>
/// 定义类型为比较两个对象而实现的方法。
/// </summary>
/// <typeparam name="T">要比较的对象的类型。此类型参数是逆变。即可以使用指定的类型或派生程度更低的类型。有关协变和逆变的详细信息,请参阅 泛型中的协变和逆变。</typeparam><filterpriority>1</filterpriority>
[__DynamicallyInvokable]
public interface IComparer<in T>
{
/// <summary>
/// 比较两个对象并返回一个值,该值指示一个对象小于、等于还是大于另一个对象。
/// </summary>
///
/// <returns>
/// 一个有符号整数,指示 <paramref name="x"/> 与 <paramref name="y"/> 的相对值,如下表所示。值含义小于零<paramref name="x"/> 小于 <paramref name="y"/>。零<paramref name="x"/> 等于 <paramref name="y"/>。大于零<paramref name="x"/> 大于 <paramref name="y"/>。
/// </returns>
/// <param name="x">要比较的第一个对象。</param><param name="y">要比较的第二个对象。</param>
[__DynamicallyInvokable]
int Compare(T x, T y);
}
}


IEnumerable

using System.Runtime.InteropServices;

namespace System.Collections
{
/// <summary>
/// 公开枚举数,该枚举数支持在非泛型集合上进行简单迭代。若要浏览此类型的 .NET Framework 源代码,请参阅引用源。
/// </summary>
/// <filterpriority>1</filterpriority>
[Guid("496B0ABE-CDEE-11d3-88E8-00902754C43A")]
[ComVisible(true)]
[__DynamicallyInvokable]
public interface IEnumerable
{
/// <summary>
/// 返回循环访问集合的枚举数。
/// </summary>
///
/// <returns>
/// 可用于循环访问集合的 <see cref="T:System.Collections.IEnumerator"/> 对象。
/// </returns>
/// <filterpriority>2</filterpriority>
[DispId(-4)]
[__DynamicallyInvokable]
IEnumerator GetEnumerator();
}
}


IEnumerable <T>

using System.Collections;
using System.Runtime.CompilerServices;

namespace System.Collections.Generic
{
/// <summary>
/// 公开枚举数,该枚举数支持在指定类型的集合上进行简单迭代。若要浏览此类型的.NET Framework 源代码,请参阅参考源。
/// </summary>
/// <typeparam name="T">要枚举的对象的类型。此类型参数是协变。即可以使用指定的类型或派生程度更高的类型。有关协变和逆变的详细信息,请参阅 泛型中的协变和逆变。</typeparam><filterpriority>1</filterpriority>
[TypeDependency("System.SZArrayHelper")]
[__DynamicallyInvokable]
public interface IEnumerable<out T> : IEnumerable
{
/// <summary>
/// 返回一个循环访问集合的枚举器。
/// </summary>
///
/// <returns>
/// 用于循环访问集合的枚举数。
/// </returns>
/// <filterpriority>1</filterpriority>
[__DynamicallyInvokable]
IEnumerator<T> GetEnumerator();
}
}


IEnumerator


using System.Runtime.InteropServices;

namespace System.Collections
{
[Guid("496B0ABF-CDEE-11d3-88E8-00902754C43A")]
[ComVisible(true)]
[__DynamicallyInvokable]
public interface IEnumerator
{
[__DynamicallyInvokable]
object Current { [__DynamicallyInvokable] get; }

[__DynamicallyInvokable]
bool MoveNext();

[__DynamicallyInvokable]
void Reset();
}
}


IEnumerator<T>


using System;
using System.Collections;

namespace System.Collections.Generic
{
/// <summary>
/// 支持在泛型集合上进行简单迭代。
/// </summary>
/// <typeparam name="T">要枚举的对象的类型。此类型参数是协变。即可以使用指定的类型或派生程度更高的类型。有关协变和逆变的详细信息,请参阅 泛型中的协变和逆变。</typeparam><filterpriority>1</filterpriority>
[__DynamicallyInvokable]
public interface IEnumerator<out T> : IDisposable, IEnumerator
{
/// <summary>
/// 获取集合中位于枚举数当前位置的元素。
/// </summary>
///
/// <returns>
/// 集合中位于枚举数当前位置的元素。
/// </returns>
[__DynamicallyInvokable]
T Current { [__DynamicallyInvokable] get; }
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: