Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / ProjectionPath.cs / 1305376 / ProjectionPath.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a class to represent an annotated path of segments // (each of which is a step in the parsed tree). // //--------------------------------------------------------------------- namespace System.Data.Services.Client { #region Namespaces. using System.Collections.Generic; using System.Diagnostics; using System.Linq.Expressions; using System.Text; #endregion Namespaces. ///Use this class to represent an annotated list of path segments. [DebuggerDisplay("{ToString()}")] internal class ProjectionPath : List{ #region Constructors. /// Initializes a new internal ProjectionPath() : base() { } ///instance. Initializes a new /// Root parameter for this path. /// Expression to get the expected root type in the target tree. /// Expression for the root entry. internal ProjectionPath(ParameterExpression root, Expression expectedRootType, Expression rootEntry) : base() { this.Root = root; this.RootEntry = rootEntry; this.ExpectedRootType = expectedRootType; } ///instance. Initializes a new /// Root parameter for this path. /// Expression to get the expected root type in the target tree. /// Expression for the root entry. /// Member to initialize the path with. internal ProjectionPath(ParameterExpression root, Expression expectedRootType, Expression rootEntry, IEnumerableinstance. members) : this(root, expectedRootType, rootEntry) { Debug.Assert(members != null, "members != null"); foreach (Expression member in members) { this.Add(new ProjectionPathSegment(this, ((MemberExpression)member).Member.Name, member.Type)); } } #endregion Constructors. #region Internal properties. /// Parameter expression in the source tree. internal ParameterExpression Root { get; private set; } ///Expression to get the entry for internal Expression RootEntry { get; private set; } ///in the target tree. Expression to get the expected root type in the target tree. internal Expression ExpectedRootType { get; private set; } #endregion Internal properties. #region Methods. ///Provides a string representation of this object. ///A string representation of this object, suitable for debugging. public override string ToString() { StringBuilder builder = new StringBuilder(); builder.Append(this.Root.ToString()); builder.Append("->"); for (int i = 0; i < this.Count; i++) { if (i > 0) { builder.Append('.'); } builder.Append(this[i].Member == null ? "*" : this[i].Member); } return builder.ToString(); } #endregion Methods. } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a class to represent an annotated path of segments // (each of which is a step in the parsed tree). // //--------------------------------------------------------------------- namespace System.Data.Services.Client { #region Namespaces. using System.Collections.Generic; using System.Diagnostics; using System.Linq.Expressions; using System.Text; #endregion Namespaces. ///Use this class to represent an annotated list of path segments. [DebuggerDisplay("{ToString()}")] internal class ProjectionPath : List{ #region Constructors. /// Initializes a new internal ProjectionPath() : base() { } ///instance. Initializes a new /// Root parameter for this path. /// Expression to get the expected root type in the target tree. /// Expression for the root entry. internal ProjectionPath(ParameterExpression root, Expression expectedRootType, Expression rootEntry) : base() { this.Root = root; this.RootEntry = rootEntry; this.ExpectedRootType = expectedRootType; } ///instance. Initializes a new /// Root parameter for this path. /// Expression to get the expected root type in the target tree. /// Expression for the root entry. /// Member to initialize the path with. internal ProjectionPath(ParameterExpression root, Expression expectedRootType, Expression rootEntry, IEnumerableinstance. members) : this(root, expectedRootType, rootEntry) { Debug.Assert(members != null, "members != null"); foreach (Expression member in members) { this.Add(new ProjectionPathSegment(this, ((MemberExpression)member).Member.Name, member.Type)); } } #endregion Constructors. #region Internal properties. /// Parameter expression in the source tree. internal ParameterExpression Root { get; private set; } ///Expression to get the entry for internal Expression RootEntry { get; private set; } ///in the target tree. Expression to get the expected root type in the target tree. internal Expression ExpectedRootType { get; private set; } #endregion Internal properties. #region Methods. ///Provides a string representation of this object. ///A string representation of this object, suitable for debugging. public override string ToString() { StringBuilder builder = new StringBuilder(); builder.Append(this.Root.ToString()); builder.Append("->"); for (int i = 0; i < this.Count; i++) { if (i > 0) { builder.Append('.'); } builder.Append(this[i].Member == null ? "*" : this[i].Member); } return builder.ToString(); } #endregion Methods. } } // 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
- ContentControl.cs
- ConfigUtil.cs
- Dump.cs
- ContextStaticAttribute.cs
- ListBindingConverter.cs
- ClassHandlersStore.cs
- GrammarBuilderBase.cs
- ServiceAuthorizationBehavior.cs
- DrawingImage.cs
- SymbolEqualComparer.cs
- SpAudioStreamWrapper.cs
- DesignerProperties.cs
- CoreSwitches.cs
- FastEncoderStatics.cs
- TextEditorDragDrop.cs
- NativeActivityContext.cs
- TreePrinter.cs
- FamilyMapCollection.cs
- LateBoundBitmapDecoder.cs
- AutoResizedEvent.cs
- COAUTHIDENTITY.cs
- DataSysAttribute.cs
- DPAPIProtectedConfigurationProvider.cs
- MediaContext.cs
- PackWebResponse.cs
- DecimalAnimationBase.cs
- PerfService.cs
- Matrix.cs
- ThreadStartException.cs
- KeyProperty.cs
- PolyLineSegment.cs
- ChannelManager.cs
- AsymmetricAlgorithm.cs
- UmAlQuraCalendar.cs
- TerminatorSinks.cs
- WsdlBuildProvider.cs
- ExpandSegmentCollection.cs
- InvalidProgramException.cs
- XmlProcessingInstruction.cs
- SourceFileBuildProvider.cs
- Shared.cs
- TabPanel.cs
- Package.cs
- RSAOAEPKeyExchangeDeformatter.cs
- CompilationUnit.cs
- XmlChoiceIdentifierAttribute.cs
- ProtectedProviderSettings.cs
- TreeNodeCollection.cs
- StreamGeometry.cs
- SID.cs
- GridViewDesigner.cs
- RequestQueue.cs
- ClientProxyGenerator.cs
- ListArgumentProvider.cs
- PaginationProgressEventArgs.cs
- EntityCodeGenerator.cs
- Activation.cs
- DeferredSelectedIndexReference.cs
- UnhandledExceptionEventArgs.cs
- SynchronousChannel.cs
- HMACSHA1.cs
- Rectangle.cs
- WebPartCloseVerb.cs
- Queue.cs
- PersonalizationProviderHelper.cs
- COM2FontConverter.cs
- CodeIdentifiers.cs
- ExpressionBinding.cs
- NameValueSectionHandler.cs
- CustomAttributeFormatException.cs
- TextTreeUndoUnit.cs
- SqlProviderManifest.cs
- TableItemPattern.cs
- FirstQueryOperator.cs
- SplineKeyFrames.cs
- DataColumn.cs
- validation.cs
- CompoundFileIOPermission.cs
- HandlerBase.cs
- TypeElementCollection.cs
- FontResourceCache.cs
- SrgsSubset.cs
- AssociationTypeEmitter.cs
- ParseChildrenAsPropertiesAttribute.cs
- EnumerableValidator.cs
- ExpanderAutomationPeer.cs
- DataListCommandEventArgs.cs
- CommonRemoteMemoryBlock.cs
- MediaContext.cs
- DesignerEventService.cs
- SQLChars.cs
- IconHelper.cs
- TagMapInfo.cs
- AssemblyHelper.cs
- ContentValidator.cs
- DataViewSettingCollection.cs
- ProxyAttribute.cs
- ExitEventArgs.cs
- Rotation3DKeyFrameCollection.cs
- Flattener.cs