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
- BufferModeSettings.cs
- DashStyle.cs
- SpellerStatusTable.cs
- StylusPointPropertyInfo.cs
- HitTestWithGeometryDrawingContextWalker.cs
- ToolStripItemCollection.cs
- ProviderConnectionPoint.cs
- InstanceOwnerException.cs
- DiscoveryReferences.cs
- DataObjectSettingDataEventArgs.cs
- FixedNode.cs
- RawUIStateInputReport.cs
- FirstMatchCodeGroup.cs
- NamespaceEmitter.cs
- ScopelessEnumAttribute.cs
- MultiTargetingUtil.cs
- ViewSimplifier.cs
- ImpersonationContext.cs
- Int32Rect.cs
- OLEDB_Enum.cs
- HtmlButton.cs
- ParseChildrenAsPropertiesAttribute.cs
- OrthographicCamera.cs
- QilTargetType.cs
- ValidatedControlConverter.cs
- SHA384Managed.cs
- ValidationUtility.cs
- BlockCollection.cs
- ConfigXmlDocument.cs
- GetRecipientRequest.cs
- Oid.cs
- TreeNodeBinding.cs
- RequestSecurityTokenResponse.cs
- ControlBuilderAttribute.cs
- QuadraticBezierSegment.cs
- HttpResponseInternalBase.cs
- XDRSchema.cs
- ValidationResults.cs
- SafeBitVector32.cs
- SqlUtils.cs
- FullTrustAssemblyCollection.cs
- AttributeUsageAttribute.cs
- FormsAuthenticationEventArgs.cs
- QueryCoreOp.cs
- BoundsDrawingContextWalker.cs
- Stack.cs
- IHttpResponseInternal.cs
- HeaderedItemsControl.cs
- NumericExpr.cs
- ComboBox.cs
- SecurityDescriptor.cs
- TimerElapsedEvenArgs.cs
- FigureParaClient.cs
- TraceContext.cs
- CacheMemory.cs
- CodePageUtils.cs
- BitmapPalette.cs
- SqlDataAdapter.cs
- HtmlTernaryTree.cs
- OracleConnectionStringBuilder.cs
- Internal.cs
- Int32CollectionConverter.cs
- GridView.cs
- NetWebProxyFinder.cs
- NameObjectCollectionBase.cs
- XMLUtil.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- CapabilitiesPattern.cs
- TextSelectionHighlightLayer.cs
- FixedTextView.cs
- HtmlShimManager.cs
- Ray3DHitTestResult.cs
- ProcessInfo.cs
- OpenTypeCommon.cs
- HtmlInputImage.cs
- Descriptor.cs
- RecognizerStateChangedEventArgs.cs
- MultiView.cs
- CompiledXpathExpr.cs
- PrimitiveList.cs
- WebPartHelpVerb.cs
- BulletedListEventArgs.cs
- HandleRef.cs
- CodeBlockBuilder.cs
- CompilerCollection.cs
- DependencyObjectProvider.cs
- ConfigurationSchemaErrors.cs
- AssociativeAggregationOperator.cs
- autovalidator.cs
- ExchangeUtilities.cs
- _ConnectStream.cs
- ArrayElementGridEntry.cs
- QilChoice.cs
- WindowsFont.cs
- SamlAuthorityBinding.cs
- RichTextBoxDesigner.cs
- MsmqReceiveParameters.cs
- Pkcs9Attribute.cs
- SessionStateItemCollection.cs
- RectAnimation.cs