namespace System.Collections {
-#if NET_2_0
[ComVisible(true)]
-#endif
[Serializable]
public abstract class ReadOnlyCollectionBase : ICollection, IEnumerable {
private ArrayList list;
// public instance properties
- public
-#if NET_2_0
- virtual
-#endif
- int Count { get { return InnerList.Count; } }
+ public virtual int Count { get { return InnerList.Count; } }
// Public Instance Methods
- public IEnumerator GetEnumerator() { return InnerList.GetEnumerator(); }
+ public virtual IEnumerator GetEnumerator() { return InnerList.GetEnumerator(); }
// Protected Instance Constructors
protected ReadOnlyCollectionBase() {
// Protected Instance Properties
protected ArrayList InnerList {get { return this.list; } }
- // ICollection methods
+ // ICollection/IEnumerable methods
+ IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); }
+
void ICollection.CopyTo(Array array, int index) {
lock (InnerList) { InnerList.CopyTo(array, index); }
}