SingleObjectCollection.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / Util / SingleObjectCollection.cs / 1 / SingleObjectCollection.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

/* 
 * SingleObjectCollection class 
 *
 * Copyright (c) 1999 Microsoft Corporation 
 */

namespace System.Web.Util {
 
using System.Collections;
 
/* 
 * Fast implementation of a collection with a single object
 */ 
internal class SingleObjectCollection: ICollection {

    private class SingleObjectEnumerator: IEnumerator {
        private object _object; 
        private bool done;
 
        public SingleObjectEnumerator(object o) { _object = o; } 
        public object Current { get { return _object; } }
        public bool MoveNext() { 
            if (!done) {
                done = true;
                return true;
            } 

            return false; 
        } 
        public void Reset() { done = false; }
    } 

    private object _object;

    public SingleObjectCollection(object o) { _object = o; } 

    IEnumerator IEnumerable.GetEnumerator() { return new SingleObjectEnumerator(_object); } 
    public int Count { get { return 1; } } 
    bool ICollection.IsSynchronized { get { return true; } }
    object ICollection.SyncRoot { get { return this; } } 

    public void CopyTo(Array array, int index) {
        array.SetValue(_object, index);
    } 
}
 
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

/* 
 * SingleObjectCollection class 
 *
 * Copyright (c) 1999 Microsoft Corporation 
 */

namespace System.Web.Util {
 
using System.Collections;
 
/* 
 * Fast implementation of a collection with a single object
 */ 
internal class SingleObjectCollection: ICollection {

    private class SingleObjectEnumerator: IEnumerator {
        private object _object; 
        private bool done;
 
        public SingleObjectEnumerator(object o) { _object = o; } 
        public object Current { get { return _object; } }
        public bool MoveNext() { 
            if (!done) {
                done = true;
                return true;
            } 

            return false; 
        } 
        public void Reset() { done = false; }
    } 

    private object _object;

    public SingleObjectCollection(object o) { _object = o; } 

    IEnumerator IEnumerable.GetEnumerator() { return new SingleObjectEnumerator(_object); } 
    public int Count { get { return 1; } } 
    bool ICollection.IsSynchronized { get { return true; } }
    object ICollection.SyncRoot { get { return this; } } 

    public void CopyTo(Array array, int index) {
        array.SetValue(_object, index);
    } 
}
 
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK