gpt4 book ai didi

c# - IEnumerator 的源代码在哪里?

转载 作者:太空狗 更新时间:2023-10-30 00:44:52 25 4
gpt4 key购买 nike

我只是从http://referencesource.microsoft.com/netframework.aspx 下载.Net 框架源代码它是 Net_4.msi。但是在我安装它之后,我找不到 IEnumerator 代码文件。我只是想知道为什么 Net_4.msi 不包含所有 .Net 类。


更新:感谢您的回复,对于造成的困惑,我们深表歉意。

我不是在询问 IEnumerator 的定义。我认为“Net_4.msi”应该包括所有.Net 类/接口(interface)的源代码文件。比如在文件夹Net_4\Source\ndp\clr\src\BCL\System\Collections中,你可能会找到IList.cs、ICollection.cs、IDictionary.cs和IEnumerable.cs。这4个文件分别是IList、ICollection、IDictionary和IEnumerable的源代码文件。请看this image .

但我找不到文件:IEnumerator.cs。我只是想知道 IEnumerator.cs 在哪里。为什么 IEnumerator.cs 不包含在“Net_4.msi”中?

最佳答案

正如洛基指出的那样,IEnumerator<T>是接口(interface),不是具体类,所以没有实现。但是,您可以四处寻找并找到 an example of how to implement the interface for your custom type(s).

直接回答您的问题,它在 mscorlib.dll 中定义,这是整个 .NET 4.0 文件:

#region Assembly mscorlib.dll, v4.0.30319
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\mscorlib.dll
#endregion

using System;
using System.Collections;

namespace System.Collections.Generic
{
// Summary:
// Supports a simple iteration over a generic collection.
//
// Type parameters:
// T:
// The type of objects to enumerate.This type parameter is covariant. That is,
// you can use either the type you specified or any type that is more derived.
// For more information about covariance and contravariance, see Covariance
// and Contravariance in Generics.
public interface IEnumerator<out T> : IDisposable, IEnumerator
{
// Summary:
// Gets the element in the collection at the current position of the enumerator.
//
// Returns:
// The element in the collection at the current position of the enumerator.
T Current { get; }
}
}

关于c# - IEnumerator 的源代码在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6795948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com