Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| // 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. | |
| /*============================================================ | |
| ** | |
| ** Interface: IReadOnlyList<T> | |
| ** | |
| ** | |
| ** | |
| ** Purpose: Base interface for read-only generic lists. | |
| ** | |
| ===========================================================*/ | |
| using System; | |
| using System.Diagnostics.Contracts; | |
| using System.Runtime.CompilerServices; | |
| namespace System.Collections.Generic | |
| { | |
| // Provides a read-only, covariant view of a generic list. | |
| // Note that T[] : IReadOnlyList<T>, and we want to ensure that if you use | |
| // IList<YourValueType>, we ensure a YourValueType[] can be used | |
| // without jitting. Hence the TypeDependencyAttribute on SZArrayHelper. | |
| // This is a special workaround internally though - see VM\compile.cpp. | |
| // The same attribute is on IList<T>, IEnumerable<T>, ICollection<T> and IReadOnlyCollection<T>. | |
| [TypeDependencyAttribute("System.SZArrayHelper")] | |
| // If we ever implement more interfaces on IReadOnlyList, we should also update RuntimeTypeCache.PopulateInterfaces() in rttype.cs | |
| public interface IReadOnlyList<out T> : IReadOnlyCollection<T> | |
| { | |
| T this[int index] { get; } | |
| } | |
| } |