EnumType.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 / DataEntity / System / Data / Metadata / Edm / EnumType.cs / 1305376 / EnumType.cs

                            //---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner       [....]
// @backupOwner [....] 
//--------------------------------------------------------------------- 

namespace System.Data.Metadata.Edm 
{
    using System.Data.Common;

    ///  
    /// Class representing a enumeration type
    ///  
    internal sealed class EnumType : SimpleType 
    {
        #region Constructors 
        /// 
        /// The default constructor for EnumType: for bootstraping
        /// 
        internal EnumType() 
        {
        } 
 
        /// 
        /// The constructor for EnumType.  It takes the required information to identify this type. 
        /// 
        /// The name of this type
        /// The namespace name of this type
        /// The version of this type 
        /// dataspace in which the enum belongs to
        /// Thrown if either name, namespace or version arguments are null 
        internal EnumType(string name, string namespaceName, DataSpace dataSpace) 
            : base(name, namespaceName, dataSpace)
        { 
        }

        #endregion
 
        #region Fields
        private readonly ReadOnlyMetadataCollection _enumMembers = new ReadOnlyMetadataCollection(new MetadataCollection()); 
        #endregion 

        #region Properties 
        /// 
        /// Returns the kind of the type
        /// 
        public override BuiltInTypeKind BuiltInTypeKind { get { return BuiltInTypeKind.EnumType; } } 

        ///  
        /// The collection of enumeration members belong to this enumeration type 
        /// 
        [MetadataProperty(BuiltInTypeKind.EnumMember, true)] 
        public ReadOnlyMetadataCollection EnumMembers
        {
            get
            { 
                return _enumMembers;
            } 
        } 

        ///  
        /// Sets this item to be readonly, once this is set, the item will never be writable again.
        /// 
        internal override void SetReadOnly()
        { 
            if (!IsReadOnly)
            { 
                base.SetReadOnly(); 
                this.EnumMembers.Source.SetReadOnly();
            } 
        }

        /// 
        /// Adds the given member to the member collection 
        /// 
        ///  
        internal void AddMember(EnumMember enumMember) 
        {
            this.EnumMembers.Source.Add(enumMember); 
        }

        #endregion
    } 
}

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