using System; using System.Runtime.InteropServices; namespace System.Collections { /// Provides the abstract base class for a strongly typed non-generic read-only collection. /// 2 // Token: 0x0200013A RID: 314 [ComVisible(true)] [Serializable] public abstract class ReadOnlyCollectionBase : IEnumerable, ICollection { /// Initializes a new instance of the class. // Token: 0x06001017 RID: 4119 RVA: 0x00042BA8 File Offset: 0x00040DA8 protected ReadOnlyCollectionBase() { this.list = new ArrayList(); } // Token: 0x06001018 RID: 4120 RVA: 0x00042BBC File Offset: 0x00040DBC IEnumerator IEnumerable.GetEnumerator() { return this.GetEnumerator(); } /// Copies the entire to a compatible one-dimensional , starting at the specified index of the target array. /// The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. /// The zero-based index in at which copying begins. /// /// is null. /// /// is less than zero. /// /// is multidimensional.-or- The number of elements in the source is greater than the available space from to the end of the destination . /// The type of the source cannot be cast automatically to the type of the destination . // Token: 0x06001019 RID: 4121 RVA: 0x00042BC4 File Offset: 0x00040DC4 void ICollection.CopyTo(Array array, int index) { ArrayList innerList = this.InnerList; lock (innerList) { this.InnerList.CopyTo(array, index); } } /// Gets an object that can be used to synchronize access to a object. /// An object that can be used to synchronize access to the object. // Token: 0x1700029C RID: 668 // (get) Token: 0x0600101A RID: 4122 RVA: 0x00042C14 File Offset: 0x00040E14 object ICollection.SyncRoot { get { return this.InnerList.SyncRoot; } } /// Gets a value indicating whether access to a object is synchronized (thread safe). /// true if access to the object is synchronized (thread safe); otherwise, false. The default is false. // Token: 0x1700029D RID: 669 // (get) Token: 0x0600101B RID: 4123 RVA: 0x00042C24 File Offset: 0x00040E24 bool ICollection.IsSynchronized { get { return this.InnerList.IsSynchronized; } } /// Gets the number of elements contained in the instance. /// The number of elements contained in the instance.Retrieving the value of this property is an O(1) operation. /// 2 // Token: 0x1700029E RID: 670 // (get) Token: 0x0600101C RID: 4124 RVA: 0x00042C34 File Offset: 0x00040E34 public virtual int Count { get { return this.InnerList.Count; } } /// Returns an enumerator that iterates through the instance. /// An for the instance. /// 2 // Token: 0x0600101D RID: 4125 RVA: 0x00042C44 File Offset: 0x00040E44 public virtual IEnumerator GetEnumerator() { return this.InnerList.GetEnumerator(); } /// Gets the list of elements contained in the instance. /// An representing the instance itself. // Token: 0x1700029F RID: 671 // (get) Token: 0x0600101E RID: 4126 RVA: 0x00042C54 File Offset: 0x00040E54 protected ArrayList InnerList { get { return this.list; } } // Token: 0x040003E9 RID: 1001 private ArrayList list; } }