// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. #nullable enable using System.Collections.Generic; namespace Microsoft.CodeAnalysis.Collections { internal partial class SpecializedCollections { private partial class Empty { internal class Enumerable<T> : IEnumerable<T> { // PERF: cache the instance of enumerator. // accessing a generic static field is kinda slow from here, // but since empty enumerables are singletons, there is no harm in having // one extra instance field private readonly IEnumerator<T> _enumerator = Enumerator<T>.Instance; public IEnumerator<T> GetEnumerator() { return _enumerator; } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return GetEnumerator(); } } } } } |