- \r
- public override bool IsSynchronized {\r
- get { return true; }\r
- }\r
- \r
- public override object SyncRoot {\r
- get { return stack.SyncRoot; }\r
- }\r
-\r
- public override void Clear() {\r
- lock(stack) { stack.Clear(); }\r
- }\r
-\r
- public override object Clone() {\r
- lock (stack) { \r
- return Stack.Synchronized((Stack)stack.Clone()); \r
- }\r
- }\r
-\r
- public override bool Contains(object obj) {\r
- lock (stack) { return stack.Contains(obj); }\r
- }\r
-\r
- public override void CopyTo(Array array, int index) {\r
- lock (stack) { stack.CopyTo(array, index); }\r
- }\r
-\r
- public override IEnumerator GetEnumerator() {\r
- lock (stack) { \r
- return new Enumerator(stack); \r
- }\r
- }\r
-\r
- public override object Peek() {\r
- lock (stack) { return stack.Peek(); }\r
- }\r
-\r
- public override object Pop() {\r
- lock (stack) { return stack.Pop(); }\r
- }\r
-\r
- public override void Push(object obj) {\r
- lock (stack) { stack.Push(obj); }\r
- }\r
-\r
- public override object[] ToArray() {\r
- lock (stack) { return stack.ToArray(); }\r
- }\r
- }\r
-\r
- public static Stack Synchronized(Stack s) {\r
- if (s == null) {\r
- throw new ArgumentNullException();\r
- }\r
-\r
- return new SyncStack(s);\r
- }\r
-\r
- public virtual int Count {\r
- get { return count; }\r
- }\r
-\r
+
+ public override bool IsSynchronized {
+ get { return true; }
+ }
+
+ public override object SyncRoot {
+ get { return stack.SyncRoot; }
+ }
+
+ public override void Clear() {
+ lock(stack) { stack.Clear(); }
+ }
+
+ public override object Clone() {
+ lock (stack) {
+ return Stack.Synchronized((Stack)stack.Clone());
+ }
+ }
+
+ public override bool Contains(object obj) {
+ lock (stack) { return stack.Contains(obj); }
+ }
+
+ public override void CopyTo(Array array, int index) {
+ lock (stack) { stack.CopyTo(array, index); }
+ }
+
+ public override IEnumerator GetEnumerator() {
+ lock (stack) {
+ return new Enumerator(stack);
+ }
+ }
+
+ public override object Peek() {
+ lock (stack) { return stack.Peek(); }
+ }
+
+ public override object Pop() {
+ lock (stack) { return stack.Pop(); }
+ }
+
+ public override void Push(object obj) {
+ lock (stack) { stack.Push(obj); }
+ }
+
+ public override object[] ToArray() {
+ lock (stack) { return stack.ToArray(); }
+ }
+ }
+
+ public static Stack Synchronized(Stack s) {
+ if (s == null) {
+ throw new ArgumentNullException();
+ }
+
+ return new SyncStack(s);
+ }
+
+ public virtual int Count {
+ get { return count; }
+ }
+