TypeDefinition.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 / Common / EntitySql / AST / TypeDefinition.cs / 1305376 / TypeDefinition.cs

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

namespace System.Data.Common.EntitySql.AST 
{
    using System;
    using System.Globalization;
    using System.Collections; 
    using System.Collections.Generic;
 
    ///  
    /// Represents an ast node for a collection type definition.
    ///  
    internal sealed class CollectionTypeDefinition : Node
    {
        private readonly Node _elementTypeDef;
 
        /// 
        /// Initializes collection type definition using the element type definition. 
        ///  
        internal CollectionTypeDefinition(Node elementTypeDef)
        { 
            this._elementTypeDef = elementTypeDef;
        }

        ///  
        /// Returns collection element type defintion.
        ///  
        internal Node ElementTypeDef 
        {
            get { return this._elementTypeDef; } 
        }
    }

    ///  
    /// Represents an ast node for a reference type definition.
    ///  
    internal sealed class RefTypeDefinition : Node 
    {
        private readonly Node _refTypeIdentifier; 

        /// 
        /// Initializes reference type definition using the referenced type identifier.
        ///  
        internal RefTypeDefinition(Node refTypeIdentifier)
        { 
            this._refTypeIdentifier = refTypeIdentifier; 
        }
 
        /// 
        /// Returns referenced type identifier.
        /// 
        internal Node RefTypeIdentifier 
        {
            get { return this._refTypeIdentifier; } 
        } 
    }
 
    /// 
    /// Represents an ast node for a row type definition.
    /// 
    internal sealed class RowTypeDefinition : Node 
    {
        private readonly NodeList _propDefList; 
 
        /// 
        /// Initializes row type definition using the property definitions. 
        /// 
        internal RowTypeDefinition(NodeList propDefList)
        {
            this._propDefList = propDefList; 
        }
 
        ///  
        /// Returns property definitions.
        ///  
        internal NodeList Properties
        {
            get { return this._propDefList; }
        } 
    }
 
    ///  
    /// Represents an ast node for a property definition (name/type)
    ///  
    internal sealed class PropDefinition : Node
    {
        private readonly Identifier _name;
        private readonly Node _typeDefExpr; 

        ///  
        /// Initializes property definition using the name and the type definition. 
        /// 
        ///  
        internal PropDefinition(Identifier name, Node typeDefExpr)
        {
            this._name = name;
            this._typeDefExpr = typeDefExpr; 
        }
 
        ///  
        /// Returns property name.
        ///  
        internal Identifier Name
        {
            get { return this._name; }
        } 

        ///  
        /// Returns property type. 
        /// 
        internal Node Type 
        {
            get { return this._typeDefExpr; }
        }
    } 
}

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