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;
}
}