Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / ALinq / ResourceExpression.cs / 1305376 / ResourceExpression.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Base class for expressions representing resources // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Client { #region Namespaces. using System; using System.Collections.Generic; using System.Linq.Expressions; #endregion Namespaces. ////// The counting option for the resource expression /// internal enum CountOption { ///No counting None, ///Translates to the $count segment. ValueOnly, ///Translates to the $inlinecount=allpages query option InlineAll } ////// Abstract base class for expressions that support Query Options /// internal abstract class ResourceExpression : Expression { #region Fields. ///Source expression. protected readonly Expression source; ///Singleton InputReferenceExpression that should be used to indicate a reference to this element of the resource path protected InputReferenceExpression inputRef; ///expand paths private ListexpandPaths; /// The count query option for the resource set private CountOption countOption; ///custom query options private DictionarycustomQueryOptions; private ProjectionQueryOptionExpression projection; #endregion Fields. /// /// Creates a Resource expression /// /// the return type of the expression /// The custom query options /// the expand paths /// the node type /// the count option #pragma warning disable 618 internal ResourceExpression(Expression source, ExpressionType nodeType, Type type, ListexpandPaths, CountOption countOption, Dictionary customQueryOptions, ProjectionQueryOptionExpression projection) : base(nodeType, type) { this.expandPaths = expandPaths ?? new List (); this.countOption = countOption; this.customQueryOptions = customQueryOptions ?? new Dictionary (ReferenceEqualityComparer .Instance); this.projection = projection; this.source = source; } #pragma warning restore 618 abstract internal ResourceExpression CreateCloneWithNewType(Type type); abstract internal bool HasQueryOptions { get; } /// /// Resource type for this expression (for sets, this is the element type). /// Never null. /// internal abstract Type ResourceType { get; } ////// Does this expression produce at most 1 resource? /// abstract internal bool IsSingleton { get; } ////// Expand query option for ResourceSet /// internal virtual ListExpandPaths { get { return this.expandPaths; } set { this.expandPaths = value; } } /// /// Count query option for ResourceSet /// internal virtual CountOption CountOption { get { return this.countOption; } set { this.countOption = value; } } ////// custom query options for ResourceSet /// internal virtual DictionaryCustomQueryOptions { get { return this.customQueryOptions; } set { this.customQueryOptions = value; } } /// Description of the projection on a resource. ////// This property is set by the ProjectionAnalyzer component (so it /// mutates this instance), or by the ResourceBinder when it clones /// a ResourceExpression. /// internal ProjectionQueryOptionExpression Projection { get { return this.projection; } set { this.projection = value; } } ////// Gets the source expression. /// internal Expression Source { get { return this.source; } } ////// Creates an ///that refers to this component of the resource path. /// The returned expression is guaranteed to be reference-equal (object.ReferenceEquals) /// to any other InputReferenceExpression that also refers to this resource path component. /// The InputReferenceExpression that refers to this resource path component internal InputReferenceExpression CreateReference() { if (this.inputRef == null) { this.inputRef = new InputReferenceExpression(this); } return this.inputRef; } } } // 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
- SpellCheck.cs
- COM2IPerPropertyBrowsingHandler.cs
- DefaultPropertiesToSend.cs
- XamlVector3DCollectionSerializer.cs
- TraceHandler.cs
- BinaryFormatterSinks.cs
- TabPanel.cs
- BoundConstants.cs
- CodeAttachEventStatement.cs
- DataGridCommandEventArgs.cs
- ThicknessAnimationBase.cs
- CallbackValidator.cs
- DetailsViewRow.cs
- StrongNamePublicKeyBlob.cs
- SoapElementAttribute.cs
- SelectionRange.cs
- ListItemCollection.cs
- DataBinding.cs
- UrlMappingsSection.cs
- SearchForVirtualItemEventArgs.cs
- XPathNavigator.cs
- JoinCqlBlock.cs
- DropShadowEffect.cs
- EventDescriptor.cs
- WebPartZoneBase.cs
- StylusEditingBehavior.cs
- AlignmentYValidation.cs
- MonthChangedEventArgs.cs
- SkewTransform.cs
- ToolStripItemGlyph.cs
- TranslateTransform3D.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- XamlBrushSerializer.cs
- TextParagraph.cs
- IDReferencePropertyAttribute.cs
- UiaCoreApi.cs
- MasterPageBuildProvider.cs
- BitmapEffectInput.cs
- SQLUtility.cs
- Rights.cs
- XmlSchemaSimpleTypeUnion.cs
- BufferAllocator.cs
- TagMapCollection.cs
- Material.cs
- Odbc32.cs
- DomainUpDown.cs
- Avt.cs
- StyleSheetDesigner.cs
- updateconfighost.cs
- SyndicationItem.cs
- UniqueConstraint.cs
- ReferentialConstraint.cs
- DefaultProxySection.cs
- EmptyEnumerator.cs
- Marshal.cs
- ScalarOps.cs
- DataObjectFieldAttribute.cs
- Inflater.cs
- ServiceDiscoveryElement.cs
- DesignerOptionService.cs
- OutputScope.cs
- ApplicationDirectory.cs
- ListControlActionList.cs
- ObjectViewListener.cs
- LambdaSerializationException.cs
- EdmRelationshipRoleAttribute.cs
- MetadataPropertyvalue.cs
- DataGridViewCellCollection.cs
- PropertyDescriptorCollection.cs
- RoutedUICommand.cs
- HtmlMeta.cs
- SecurityCookieModeValidator.cs
- DescendantOverDescendantQuery.cs
- UInt16Storage.cs
- ImageMapEventArgs.cs
- RootBrowserWindow.cs
- TextureBrush.cs
- DebugView.cs
- ResourceReferenceExpression.cs
- returneventsaver.cs
- Point4DConverter.cs
- CompleteWizardStep.cs
- ParentUndoUnit.cs
- BitmapEffectInputConnector.cs
- AdCreatedEventArgs.cs
- HttpHandlersSection.cs
- MemoryStream.cs
- Encoding.cs
- WebExceptionStatus.cs
- InheritanceContextHelper.cs
- PersianCalendar.cs
- EventWaitHandleSecurity.cs
- EntityTemplateFactory.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- ConfigXmlText.cs
- TypeResolvingOptionsAttribute.cs
- CharacterHit.cs
- ReferenceService.cs
- EntityDataReader.cs
- RectValueSerializer.cs