blob: 9aafb5ff282b7db3631d4fd1334bb25c8d6baeaa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
//
// System.Collections.ReadOnlyCollectionBase.cs
//
// Author:
// Nick Drochak II (ndrochak@gol.com)
//
// (C) 2001 Nick Drochak II
//
using System;
namespace System.Collections {
[Serializable]
public abstract class ReadOnlyCollectionBase : ICollection, IEnumerable {
// private instance properties
private System.Collections.ArrayList myList;
// public instance properties
public int Count { get { return InnerList.Count; } }
// Public Instance Methods
public System.Collections.IEnumerator GetEnumerator() { return InnerList.GetEnumerator(); }
// Protected Instance Constructors
protected ReadOnlyCollectionBase() {
this.myList = new System.Collections.ArrayList();
}
// Protected Instance Properties
protected System.Collections.ArrayList InnerList {get { return this.myList; } }
// ICollection methods
void ICollection.CopyTo(Array array, int index) {
lock (InnerList) { InnerList.CopyTo(array, index); }
}
object ICollection.SyncRoot {
get { return InnerList.SyncRoot; }
}
bool ICollection.IsSynchronized {
get { return InnerList.IsSynchronized; }
}
}
}
|