System.Collections.ObjectModel.Collection

#region Assembly mscorlib.dll, v4.0.30319

// C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\mscorlib.dll

#endregion

 

using System;

using System.Collections;

using System.Collections.Generic;

using System.Diagnostics;

using System.Reflection;

using System.Runtime;

using System.Runtime.InteropServices;

 

namespace System.Collections.ObjectModel

{

    // Summary:

    //     Provides the base class for a generic collection.

    //

    // Type parameters:

    //   T:

    //     The type of elements in the collection.

    [Serializable]

    [ComVisible(false)]

    [DebuggerTypeProxy(typeof(Mscorlib_CollectionDebugView<>))]

    [DebuggerDisplay("Count = {Count}")]

    public class Collection<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable

    {

        // Summary:

        //     Initializes a new instance of the System.Collections.ObjectModel.Collection<T>

        //     class that is empty.

        [TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]

        public Collection();

        //

        // Summary:

        //     Initializes a new instance of the System.Collections.ObjectModel.Collection<T>

        //     class as a wrapper for the specified list.

        //

        // Parameters:

        //   list:

        //     The list that is wrapped by the new collection.

        //

        // Exceptions:

        //   System.ArgumentNullException:

        //     list is null.

        public Collection(IList<T> list);

 

        // Summary:

        //     Gets the number of elements actually contained in the System.Collections.ObjectModel.Collection<T>.

        //

        // Returns:

        //     The number of elements actually contained in the System.Collections.ObjectModel.Collection<T>.

        public int Count { get; }

        //

        // Summary:

        //     Gets a System.Collections.Generic.IList<T> wrapper around the System.Collections.ObjectModel.Collection<T>.

        //

        // Returns:

        //     A System.Collections.Generic.IList<T> wrapper around the System.Collections.ObjectModel.Collection<T>.

        protected IList<T> Items { get; }

 

        // Summary:

        //     Gets or sets the element at the specified index.

        //

        // Parameters:

        //   index:

        //     The zero-based index of the element to get or set.

        //

        // Returns:

        //     The element at the specified index.

        //

        // Exceptions:

        //   System.ArgumentOutOfRangeException:

        //     index is less than zero.-or-index is equal to or greater than System.Collections.ObjectModel.Collection<T>.Count.

        public T this[int index] { get; set; }

 

        // Summary:

        //     Adds an object to the end of the System.Collections.ObjectModel.Collection<T>.

        //

        // Parameters:

        //   item:

        //     The object to be added to the end of the System.Collections.ObjectModel.Collection<T>.

        //     The value can be null for reference types.

        public void Add(T item);

        //

        // Summary:

        //     Removes all elements from the System.Collections.ObjectModel.Collection<T>.

        [TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]

        public void Clear();

        //

        // Summary:

        //     Removes all elements from the System.Collections.ObjectModel.Collection<T>.

        [TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]

        protected virtual void ClearItems();

        //

        // Summary:

       //     Determines whether an element is in the System.Collections.ObjectModel.Collection<T>.

        //

        // Parameters:

        //   item:

        //     The object to locate in the System.Collections.ObjectModel.Collection<T>.

        //     The value can be null for reference types.

        //

        // Returns:

        //     true if item is found in the System.Collections.ObjectModel.Collection<T>;

        //     otherwise, false.

        [TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]

        public bool Contains(T item);

        //

        // Summary:

        //     Copies the entire System.Collections.ObjectModel.Collection<T> to a compatible

        //     one-dimensional System.Array, starting at the specified index of the target

        //     array.

        //

        // Parameters:

        //   array:

        //     The one-dimensional System.Array that is the destination of the elements

        //     copied from System.Collections.ObjectModel.Collection<T>. The System.Array

        //     must have zero-based indexing.

        //

        //   index:

        //     The zero-based index in array at which copying begins.

        //

        // Exceptions:

        //   System.ArgumentNullException:

        //     array is null.

        //

        //   System.ArgumentOutOfRangeException:

        //     index is less than zero.

        //

        //   System.ArgumentException:

        //     The number of elements in the source System.Collections.ObjectModel.Collection<T>

        //     is greater than the available space from index to the end of the destination

        //     array.

        [TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]

        public void CopyTo(T[] array, int index);

        //

        // Summary:

        //     Returns an enumerator that iterates through the System.Collections.ObjectModel.Collection<T>.

        //

        // Returns:

        //     An System.Collections.Generic.IEnumerator<T> for the System.Collections.ObjectModel.Collection<T>.

        public IEnumerator<T> GetEnumerator();

        //

        // Summary:

        //     Searches for the specified object and returns the zero-based index of the

        //     first occurrence within the entire System.Collections.ObjectModel.Collection<T>.

        //

        // Parameters:

        //   item:

        //     The object to locate in the System.Collections.Generic.List<T>. The value

        //     can be null for reference types.

        //

        // Returns:

        //     The zero-based index of the first occurrence of item within the entire System.Collections.ObjectModel.Collection<T>,

        //     if found; otherwise, -1.

        [TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]

        public int IndexOf(T item);

        //

        // Summary:

        //     Inserts an element into the System.Collections.ObjectModel.Collection<T>

        //     at the specified index.

        //

        // Parameters:

        //   index:

        //     The zero-based index at which item should be inserted.

        //

       //   item:

        //     The object to insert. The value can be null for reference types.

        //

        // Exceptions:

        //   System.ArgumentOutOfRangeException:

        //     index is less than zero.-or-index is greater than System.Collections.ObjectModel.Collection<T>.Count.

        public void Insert(int index, T item);

        //

        // Summary:

        //     Inserts an element into the System.Collections.ObjectModel.Collection<T>

        //     at the specified index.

        //

        // Parameters:

        //   index:

        //     The zero-based index at which item should be inserted.

        //

        //   item:

        //     The object to insert. The value can be null for reference types.

        //

        // Exceptions:

        //   System.ArgumentOutOfRangeException:

        //     index is less than zero.-or-index is greater than System.Collections.ObjectModel.Collection<T>.Count.

        [TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]

        protected virtual void InsertItem(int index, T item);

        //

        // Summary:

        //     Removes the first occurrence of a specific object from the System.Collections.ObjectModel.Collection<T>.

        //

        // Parameters:

        //   item:

        //     The object to remove from the System.Collections.ObjectModel.Collection<T>.

        //     The value can be null for reference types.

        //

        // Returns:

        //     true if item is successfully removed; otherwise, false. This method also

        //     returns false if item was not found in the original System.Collections.ObjectModel.Collection<T>.

        public bool Remove(T item);

        //

        // Summary:

        //     Removes the element at the specified index of the System.Collections.ObjectModel.Collection<T>.

        //

        // Parameters:

        //   index:

        //     The zero-based index of the element to remove.

        //

        // Exceptions:

        //   System.ArgumentOutOfRangeException:

        //     index is less than zero.-or-index is equal to or greater than System.Collections.ObjectModel.Collection<T>.Count.

        public void RemoveAt(int index);

        //

        // Summary:

        //     Removes the element at the specified index of the System.Collections.ObjectModel.Collection<T>.

        //

        // Parameters:

        //   index:

        //     The zero-based index of the element to remove.

        //

        // Exceptions:

        //   System.ArgumentOutOfRangeException:

        //     index is less than zero.-or-index is equal to or greater than System.Collections.ObjectModel.Collection<T>.Count.

        [TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]

        protected virtual void RemoveItem(int index);

        //

        // Summary:

        //     Replaces the element at the specified index.

        //

        // Parameters:

        //   index:

        //     The zero-based index of the element to replace.

        //

        //   item:

        //     The new value for the element at the specified index. The value can be null

        //     for reference types.

        //

        // Exceptions:

        //   System.ArgumentOutOfRangeException:

        //     index is less than zero.-or-index is greater than System.Collections.ObjectModel.Collection<T>.Count.

        protected virtual void SetItem(int index, T item);

    }

}

 

原文地址:https://www.cnblogs.com/quietwalk/p/2150462.html