BypassElementCollection.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Net / System / Net / Configuration / BypassElementCollection.cs / 1 / BypassElementCollection.cs

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

namespace System.Net.Configuration 
{ 

    using System; 
    using System.Configuration;
    using System.Security.Permissions;

    [ConfigurationCollection(typeof(BypassElement))] 
    public sealed class BypassElementCollection : ConfigurationElementCollection
    { 
        public BypassElementCollection() 
        {
        } 

        public BypassElement this[int index]
        {
            get 
            {
                return (BypassElement)BaseGet(index); 
            } 
            set
            { 
                if (BaseGet(index) != null)
                {
                    BaseRemoveAt(index);
                } 
                BaseAdd(index,value);
            } 
        } 

        public new BypassElement this[string name] 
        {
            get
            {
                return (BypassElement)BaseGet(name); 
            }
            set 
            { 
                if (BaseGet(name) != null)
                { 
                    BaseRemove(name);
                }
                BaseAdd(value);
            } 
        }
 
        public void Add(BypassElement element) 
        {
            BaseAdd(element); 
        }

        public void Clear()
        { 
            BaseClear();
        } 
 
        protected override ConfigurationElement CreateNewElement()
        { 
            return new BypassElement();
        }

        protected override Object GetElementKey(ConfigurationElement element) 
        {
            if (element == null) 
                throw new ArgumentNullException("element"); 
            return ((BypassElement)element).Key;
        } 

        public int IndexOf(BypassElement element)
        {
            return BaseIndexOf(element); 
        }
 
        public void Remove(BypassElement element) 
        {
            if (element == null) 
                throw new ArgumentNullException("element");
            BaseRemove(element.Key);
        }
 
        public void Remove(string name)
        { 
            BaseRemove(name); 
        }
 
        public void RemoveAt(int index)
        {
            BaseRemoveAt(index);
        } 

        // Since, ByPassElementCollection is a simple list with add/remove functionality, 
        // we now never throw on duplicate entries just for this collection. This also 
        // allows to keep Everett compatibility.
        // 
        protected override bool ThrowOnDuplicate
        {
            get
            { 
                return false;
            } 
        } 
    }
 
}



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

namespace System.Net.Configuration 
{ 

    using System; 
    using System.Configuration;
    using System.Security.Permissions;

    [ConfigurationCollection(typeof(BypassElement))] 
    public sealed class BypassElementCollection : ConfigurationElementCollection
    { 
        public BypassElementCollection() 
        {
        } 

        public BypassElement this[int index]
        {
            get 
            {
                return (BypassElement)BaseGet(index); 
            } 
            set
            { 
                if (BaseGet(index) != null)
                {
                    BaseRemoveAt(index);
                } 
                BaseAdd(index,value);
            } 
        } 

        public new BypassElement this[string name] 
        {
            get
            {
                return (BypassElement)BaseGet(name); 
            }
            set 
            { 
                if (BaseGet(name) != null)
                { 
                    BaseRemove(name);
                }
                BaseAdd(value);
            } 
        }
 
        public void Add(BypassElement element) 
        {
            BaseAdd(element); 
        }

        public void Clear()
        { 
            BaseClear();
        } 
 
        protected override ConfigurationElement CreateNewElement()
        { 
            return new BypassElement();
        }

        protected override Object GetElementKey(ConfigurationElement element) 
        {
            if (element == null) 
                throw new ArgumentNullException("element"); 
            return ((BypassElement)element).Key;
        } 

        public int IndexOf(BypassElement element)
        {
            return BaseIndexOf(element); 
        }
 
        public void Remove(BypassElement element) 
        {
            if (element == null) 
                throw new ArgumentNullException("element");
            BaseRemove(element.Key);
        }
 
        public void Remove(string name)
        { 
            BaseRemove(name); 
        }
 
        public void RemoveAt(int index)
        {
            BaseRemoveAt(index);
        } 

        // Since, ByPassElementCollection is a simple list with add/remove functionality, 
        // we now never throw on duplicate entries just for this collection. This also 
        // allows to keep Everett compatibility.
        // 
        protected override bool ThrowOnDuplicate
        {
            get
            { 
                return false;
            } 
        } 
    }
 
}



// 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