ConfigurationPropertyAttribute.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Configuration / System / Configuration / ConfigurationPropertyAttribute.cs / 1305376 / ConfigurationPropertyAttribute.cs

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

using System; 
using System.Configuration.Internal; 
using System.Collections;
using System.Collections.Specialized; 
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Security.Permissions; 
using System.Xml;
using System.Globalization; 
using System.ComponentModel; 
using System.Security;
using System.Text; 

namespace System.Configuration {

    [AttributeUsage(AttributeTargets.Property)] 
    public sealed class ConfigurationPropertyAttribute : Attribute {
// disable csharp compiler warning #0414: field assigned unused value 
#pragma warning disable 0414 
        internal static readonly String DefaultCollectionPropertyName = "";
#pragma warning restore 0414 

        private String _Name;
        private object _DefaultValue = ConfigurationElement.s_nullPropertyValue;
        private ConfigurationPropertyOptions _Flags = ConfigurationPropertyOptions.None; 

        public ConfigurationPropertyAttribute(String name) { 
            _Name = name; 
        }
 
        public String Name {
            get {
                return _Name;
            } 
        }
 
        public object DefaultValue { 
            get {
                return _DefaultValue; 
            }
            set {
                _DefaultValue = value;
            } 
        }
 
        public ConfigurationPropertyOptions Options { 
            get {
                return _Flags; 
            }
            set {
                _Flags = value;
            } 
        }
 
        public bool IsDefaultCollection { 
            get {
                return ((Options & ConfigurationPropertyOptions.IsDefaultCollection) != 0); 
            }
            set {
                if (value == true) {
                    Options |= ConfigurationPropertyOptions.IsDefaultCollection; 
                }
                else 
                    Options &= ~ConfigurationPropertyOptions.IsDefaultCollection; 
            }
        } 

        public bool IsRequired {
            get {
                return ((Options & ConfigurationPropertyOptions.IsRequired) != 0); 
            }
            set { 
                if (value == true) { 
                    Options |= ConfigurationPropertyOptions.IsRequired;
                } 
                else {
                    Options &= ~ConfigurationPropertyOptions.IsRequired;
                }
            } 
        }
 
        public bool IsKey { 
            get {
                return ((Options & ConfigurationPropertyOptions.IsKey) != 0); 
            }
            set {
                if (value == true) {
                    Options |= ConfigurationPropertyOptions.IsKey; 
                }
                else { 
                    Options &= ~ConfigurationPropertyOptions.IsKey; 
                }
            } 
        }
    }
}

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