DataServiceRequestOfT.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 / Client / System / Data / Services / Client / DataServiceRequestOfT.cs / 1305376 / DataServiceRequestOfT.cs

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

namespace System.Data.Services.Client 
{
    #region Namespaces.

    using System; 
    using System.Diagnostics;
 
    #endregion Namespaces. 

    ///  
    /// Holds a Uri and type for the request.
    /// 
    /// The type to construct for the request results
    public sealed class DataServiceRequest : DataServiceRequest 
    {
        #region Private fields. 
 
        /// The UriTranslateResult for the request
        private readonly QueryComponents queryComponents; 

        /// The ProjectionPlan for the request (if precompiled in a previous page).
        private readonly ProjectionPlan plan;
 
        #endregion Private fields.
 
        #region Constructors. 

        /// Create a request for a specific Uri 
        /// The URI for the request.
        public DataServiceRequest(Uri requestUri)
        {
            Util.CheckArgumentNull(requestUri, "requestUri"); 
            Type elementType = typeof(TElement);
            elementType = ClientConvert.IsKnownType(elementType) ? elementType : TypeSystem.GetElementType(elementType); 
            this.queryComponents = new QueryComponents(requestUri, Util.DataServiceVersionEmpty, elementType, null, null); 
        }
 
        /// Create a request for a specific Uri
        /// The query components for the request
        /// Projection plan to reuse (possibly null).
        internal DataServiceRequest(QueryComponents queryComponents, ProjectionPlan plan) 
        {
            Debug.Assert(queryComponents != null, "queryComponents != null"); 
 
            this.queryComponents = queryComponents;
            this.plan = plan; 
        }

        #endregion Constructors.
 
        /// Element Type
        public override Type ElementType 
        { 
            get { return typeof(TElement); }
        } 

        /// The URI for the request.
        public override Uri RequestUri
        { 
            get { return this.queryComponents.Uri; }
        } 
 
        /// The ProjectionPlan for the request, if precompiled in a previous page; null otherwise.
        internal override ProjectionPlan Plan 
        {
            get
            {
                return this.plan; 
            }
        } 
 
        /// The TranslateResult associated with this request
        internal override QueryComponents QueryComponents 
        {
            get
            {
                return this.queryComponents; 
            }
        } 
    } 
}

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