Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / DataServiceQueryContinuation.cs / 1305376 / DataServiceQueryContinuation.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a class to represent the continuation of a query. // //--------------------------------------------------------------------- namespace System.Data.Services.Client { #region Namespaces. using System.Collections.Generic; using System.Diagnostics; using System.Linq.Expressions; using System.Text; using System.Reflection; #endregion Namespaces. ///Use this class to represent the continuation of a query. [DebuggerDisplay("{NextLinkUri}")] public abstract class DataServiceQueryContinuation { #region Private fields. ///URI to next page of data. private readonly Uri nextLinkUri; ///Projection plan for results of next page. private readonly ProjectionPlan plan; #endregion Private fields. #region Constructors. ///Initializes a new /// URI to next page of data. /// Projection plan for results of next page. internal DataServiceQueryContinuation(Uri nextLinkUri, ProjectionPlan plan) { Debug.Assert(nextLinkUri != null, "nextLinkUri != null"); Debug.Assert(plan != null, "plan != null"); this.nextLinkUri = nextLinkUri; this.plan = plan; } #endregion Contructors. #region Properties. ///instance. The URI to the next page of data. public Uri NextLinkUri { get { return this.nextLinkUri; } } ///Type of element to be paged over. internal abstract Type ElementType { get; } ///Projection plan for the next page of data; null if not available. internal ProjectionPlan Plan { get { return this.plan; } } #endregion Properties. #region Methods. ///Provides a string representation of this continuation. ///String representation. public override string ToString() { return this.NextLinkUri.ToString(); } ///Creates a new /// Link to next page of data (possibly null). /// Plan to materialize the data (only null if nextLinkUri is null). ///instance. A new continuation object; null if nextLinkUri is null. internal static DataServiceQueryContinuation Create(Uri nextLinkUri, ProjectionPlan plan) { Debug.Assert(plan != null || nextLinkUri == null, "plan != null || nextLinkUri == null"); if (nextLinkUri == null) { return null; } var constructors = typeof(DataServiceQueryContinuation<>).MakeGenericType(plan.ProjectedType).GetConstructors(BindingFlags.NonPublic | BindingFlags.Instance); Debug.Assert(constructors.Length == 1, "constructors.Length == 1"); object result = Util.ConstructorInvoke(constructors[0], new object[] { nextLinkUri, plan }); return (DataServiceQueryContinuation)result; } ////// Initializes a new ///instance that can /// be used for this continuation. /// A new initializes internal QueryComponents CreateQueryComponents() { QueryComponents result = new QueryComponents(this.NextLinkUri, Util.DataServiceVersionEmpty, this.Plan.LastSegmentType, null, null); return result; } #endregion Methods. } ///. Use this class to represent the continuation of a query. ///Element type. public sealed class DataServiceQueryContinuation: DataServiceQueryContinuation { #region Contructors. /// Initializes a new typed instance. /// URI to next page of data. /// Projection plan for results of next page. internal DataServiceQueryContinuation(Uri nextLinkUri, ProjectionPlan plan) : base(nextLinkUri, plan) { } #endregion Contructors. #region Properties. ///Type of element to be paged over. internal override Type ElementType { get { return typeof(T); } } #endregion Properties. } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XPathNavigatorReader.cs
- Encoding.cs
- DbConnectionClosed.cs
- MetadataArtifactLoaderFile.cs
- TableChangeProcessor.cs
- TransportBindingElementImporter.cs
- Group.cs
- OracleFactory.cs
- PropertyToken.cs
- ObservableDictionary.cs
- ConnectionManagementSection.cs
- ToolStripProgressBar.cs
- VersionedStreamOwner.cs
- GridViewColumnCollectionChangedEventArgs.cs
- HMACMD5.cs
- ControlBuilder.cs
- ToolZoneDesigner.cs
- HtmlFormWrapper.cs
- DefaultEventAttribute.cs
- ReaderWriterLockWrapper.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ApplicationFileCodeDomTreeGenerator.cs
- DispatcherHookEventArgs.cs
- SaveFileDialog.cs
- TypedDatasetGenerator.cs
- ExclusiveHandleList.cs
- ThousandthOfEmRealPoints.cs
- EdmPropertyAttribute.cs
- GeneralTransform2DTo3D.cs
- XslNumber.cs
- _SSPIWrapper.cs
- Condition.cs
- FontSource.cs
- PerformanceCounterManager.cs
- AuthorizationRuleCollection.cs
- SqlVersion.cs
- HtmlTableCellCollection.cs
- SolidColorBrush.cs
- BamlReader.cs
- DesignTimeValidationFeature.cs
- ProxyWebPart.cs
- EncodingFallbackAwareXmlTextWriter.cs
- LicFileLicenseProvider.cs
- WSSecurityTokenSerializer.cs
- PeerContact.cs
- SoapEnumAttribute.cs
- WebServiceAttribute.cs
- HTMLTextWriter.cs
- ToolbarAUtomationPeer.cs
- UriTemplateTrieLocation.cs
- ImageMetadata.cs
- Label.cs
- CacheRequest.cs
- MemberDescriptor.cs
- ConversionContext.cs
- CanonicalXml.cs
- Conditional.cs
- Helper.cs
- Trace.cs
- UInt64.cs
- ValidationErrorEventArgs.cs
- PropertyMetadata.cs
- DrawingContextDrawingContextWalker.cs
- dbdatarecord.cs
- TableCellCollection.cs
- Highlights.cs
- SafeBitVector32.cs
- XmlILOptimizerVisitor.cs
- CompoundFileStreamReference.cs
- SqlWriter.cs
- WebZone.cs
- Facet.cs
- FileRegion.cs
- AnnotationAuthorChangedEventArgs.cs
- ManagedWndProcTracker.cs
- Gdiplus.cs
- New.cs
- XamlWriter.cs
- HttpFormatExtensions.cs
- SoapIgnoreAttribute.cs
- HitTestResult.cs
- HitTestFilterBehavior.cs
- PathGeometry.cs
- JpegBitmapEncoder.cs
- ProgressChangedEventArgs.cs
- EventMappingSettings.cs
- EntityConnection.cs
- TimeZoneNotFoundException.cs
- TextTreeInsertUndoUnit.cs
- Classification.cs
- HotSpot.cs
- DataPager.cs
- DelayDesigner.cs
- SchemaMapping.cs
- TrackBarRenderer.cs
- LineGeometry.cs
- Visitors.cs
- DataSourceCacheDurationConverter.cs
- ArgumentValue.cs
- StaticResourceExtension.cs