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
- Compress.cs
- IImplicitResourceProvider.cs
- ListViewEditEventArgs.cs
- Int64Storage.cs
- UInt64Storage.cs
- EmptyImpersonationContext.cs
- QilXmlReader.cs
- CompositeControl.cs
- OneOfScalarConst.cs
- typedescriptorpermission.cs
- GraphicsPathIterator.cs
- HtmlFormWrapper.cs
- TextRangeEditTables.cs
- ClientSettingsStore.cs
- AccessibleObject.cs
- Int64Animation.cs
- ActiveXHelper.cs
- LinkedResourceCollection.cs
- SafeFileMapViewHandle.cs
- TemplateControl.cs
- EntityDataSourceConfigureObjectContextPanel.cs
- GroupDescription.cs
- AuthorizationContext.cs
- SHA1Managed.cs
- SecurityKeyIdentifierClause.cs
- MetadataItem.cs
- XamlNamespaceHelper.cs
- SafeSecurityHandles.cs
- RepeaterDesigner.cs
- EndpointNotFoundException.cs
- WindowAutomationPeer.cs
- XmlDocumentSchema.cs
- ServiceHttpHandlerFactory.cs
- Schema.cs
- Mouse.cs
- WebUtil.cs
- LiteralControl.cs
- DataComponentGenerator.cs
- DeviceContext.cs
- DefaultMergeHelper.cs
- ClientBuildManager.cs
- WindowPattern.cs
- Column.cs
- WebPartVerb.cs
- X509RawDataKeyIdentifierClause.cs
- QilInvoke.cs
- ZipIOLocalFileBlock.cs
- WebPartDisplayModeCollection.cs
- CodeExpressionStatement.cs
- AdornerDecorator.cs
- AttachedAnnotation.cs
- RSAOAEPKeyExchangeFormatter.cs
- XmlSerializationGeneratedCode.cs
- CachedTypeface.cs
- FileSystemInfo.cs
- FrameworkContextData.cs
- ImageFormatConverter.cs
- EffectiveValueEntry.cs
- ObjectToIdCache.cs
- AnimationClockResource.cs
- UIElementIsland.cs
- precedingquery.cs
- Button.cs
- QilTernary.cs
- TokenBasedSet.cs
- WebPartConnectionsCancelEventArgs.cs
- EntitySqlQueryBuilder.cs
- SerializationInfoEnumerator.cs
- TabControl.cs
- XmlAutoDetectWriter.cs
- ResourceExpression.cs
- CriticalHandle.cs
- PackageProperties.cs
- NameSpaceEvent.cs
- DataGridViewRowPrePaintEventArgs.cs
- HwndAppCommandInputProvider.cs
- ApplicationCommands.cs
- StrokeFIndices.cs
- TypeDelegator.cs
- DateTimePicker.cs
- CodeCatchClauseCollection.cs
- JournalEntry.cs
- loginstatus.cs
- RequestCachingSection.cs
- mediaeventargs.cs
- XmlSchemaDatatype.cs
- UncommonField.cs
- ToolboxComponentsCreatedEventArgs.cs
- RemoteWebConfigurationHost.cs
- ThemeableAttribute.cs
- PropertyIDSet.cs
- TraceShell.cs
- NonBatchDirectoryCompiler.cs
- VsPropertyGrid.cs
- ProcessDesigner.cs
- EnumConverter.cs
- SessionStateModule.cs
- LambdaCompiler.Address.cs
- DataGridAddNewRow.cs
- MulticastDelegate.cs