|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
#if MONO
using System.Diagnostics.CodeAnalysis;
#endif
namespace System.Collections.Generic
{
// Base interface for all collections, defining enumerators, size, and
// synchronization methods.
public interface ICollection<T> : IEnumerable<T>
{
int Count
{
#if MONO
[DynamicDependency(nameof(Array.InternalArray__ICollection_get_Count), typeof(Array))]
#endif
get;
}
bool IsReadOnly
{
#if MONO
[DynamicDependency(nameof(Array.InternalArray__ICollection_get_IsReadOnly), typeof(Array))]
#endif
get;
}
#if MONO
[DynamicDependency(nameof(Array.InternalArray__ICollection_Add) + "``1", typeof(Array))]
#endif
void Add(T item);
#if MONO
[DynamicDependency(nameof(Array.InternalArray__ICollection_Clear), typeof(Array))]
#endif
void Clear();
#if MONO
[DynamicDependency(nameof(Array.InternalArray__ICollection_Contains) + "``1", typeof(Array))]
#endif
bool Contains(T item);
// CopyTo copies a collection into an Array, starting at a particular
// index into the array.
#if MONO
[DynamicDependency(nameof(Array.InternalArray__ICollection_CopyTo) + "``1", typeof(Array))]
#endif
void CopyTo(T[] array, int arrayIndex);
#if MONO
[DynamicDependency(nameof(Array.InternalArray__ICollection_Remove) + "``1", typeof(Array))]
#endif
bool Remove(T item);
}
}
|