Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

51 lines
1.3 KiB
C#

// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// <OWNER>[....]</OWNER>
//
namespace System.Collections {
using System;
// Useful base class for typed readonly collections where items derive from object
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class ReadOnlyCollectionBase : ICollection {
ArrayList list;
protected ArrayList InnerList {
get {
if (list == null)
list = new ArrayList();
return list;
}
}
public virtual int Count {
get { return InnerList.Count; }
}
bool ICollection.IsSynchronized {
get { return InnerList.IsSynchronized; }
}
object ICollection.SyncRoot {
get { return InnerList.SyncRoot; }
}
void ICollection.CopyTo(Array array, int index) {
InnerList.CopyTo(array, index);
}
public virtual IEnumerator GetEnumerator() {
return InnerList.GetEnumerator();
}
}
}