ProjectionNode.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 / DataWeb / Server / System / Data / Services / Providers / ProjectionNode.cs / 1305376 / ProjectionNode.cs

                            //---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//  
//      Represents a single node in the tree of projections
//      for queries with $expand and/or $select. 
//  
//
// @owner  [....] 
//---------------------------------------------------------------------

namespace System.Data.Services.Providers
{ 
    #region Namespaces
    using System; 
    using System.Diagnostics; 
    #endregion
 
    /// Class describing a single node on the tree of projections
    /// and expansions. This is the base class used for any projected property.
    [DebuggerDisplay("ProjectionNode {PropertyName}")]
    internal class ProjectionNode 
    {
        #region Private fields 
        /// The name of the property to project. 
        /// If this node represents the root of the projection tree, this name is an empty string.
        private readonly string propertyName; 

        /// The  for the property to be projected.
        /// If this node represents an open property or it's the root of the projection tree,
        /// this field is null. 
        private readonly ResourceProperty property;
        #endregion 
 
        #region Constructors
        /// Creates new instance of  which represents a simple projected property. 
        /// The name of the property to project.
        /// The  for the property to project. If an open property
        /// is to be projected, specify null.
        internal ProjectionNode(string propertyName, ResourceProperty property) 
        {
            Debug.Assert(propertyName != null, "propertyName != null"); 
            Debug.Assert(property == null || property.Name == propertyName, "If the property is specified its name must match."); 

            this.propertyName = propertyName; 
            this.property = property;
        }
        #endregion
 
        #region Public properties
        /// The name of the property to project. 
        /// If this node represents the root of the projection tree, this name is an empty string. 
        public string PropertyName
        { 
            get
            {
                return this.propertyName;
            } 
        }
 
        /// The  for the property to be projected. 
        /// If this node represents an open property or it's the root of the projection tree,
        /// this property is null. 
        public ResourceProperty Property
        {
            get
            { 
                return this.property;
            } 
        } 
        #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