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
- ASCIIEncoding.cs
- WS2007HttpBindingElement.cs
- RtfFormatStack.cs
- ExeConfigurationFileMap.cs
- SafeBitVector32.cs
- CancellationToken.cs
- Attributes.cs
- LowerCaseStringConverter.cs
- DocumentViewerBase.cs
- PropertyDescriptorGridEntry.cs
- SkinBuilder.cs
- ConfigurationElementProperty.cs
- DataGridComboBoxColumn.cs
- SchemaObjectWriter.cs
- LookupTables.cs
- StorageMappingFragment.cs
- MarkupObject.cs
- TrackingServices.cs
- Image.cs
- RemotingConfigParser.cs
- PreviewPrintController.cs
- XmlRootAttribute.cs
- XPathNodeList.cs
- JoinElimination.cs
- InternalBufferOverflowException.cs
- LicenseContext.cs
- SqlCacheDependency.cs
- TextPattern.cs
- WebPartDisplayMode.cs
- MaskedTextProvider.cs
- DesignerForm.cs
- CodeTypeOfExpression.cs
- Int32CollectionValueSerializer.cs
- DbgUtil.cs
- AppSettingsReader.cs
- X509AsymmetricSecurityKey.cs
- ResourcePermissionBase.cs
- OpenFileDialog.cs
- LayoutSettings.cs
- XmlSchemaSimpleContentRestriction.cs
- CommandDevice.cs
- ColorConvertedBitmapExtension.cs
- PropertyConverter.cs
- DesignerDataParameter.cs
- SizeConverter.cs
- CustomErrorsSection.cs
- CompilationRelaxations.cs
- RegistrationServices.cs
- UrlMappingCollection.cs
- SessionKeyExpiredException.cs
- HitTestWithPointDrawingContextWalker.cs
- ReadOnlyNameValueCollection.cs
- QilParameter.cs
- ChangePassword.cs
- SimpleType.cs
- StretchValidation.cs
- FontDriver.cs
- webeventbuffer.cs
- MembershipSection.cs
- EdgeProfileValidation.cs
- EdmRelationshipRoleAttribute.cs
- XmlSchemaSimpleTypeRestriction.cs
- TraceHandlerErrorFormatter.cs
- PaintEvent.cs
- SqlUtils.cs
- IndexedSelectQueryOperator.cs
- CommandBinding.cs
- PointF.cs
- GreenMethods.cs
- AuthenticationConfig.cs
- X509UI.cs
- XmlIlGenerator.cs
- AlphabeticalEnumConverter.cs
- RewritingSimplifier.cs
- TextDecorationLocationValidation.cs
- AQNBuilder.cs
- AnnotationHighlightLayer.cs
- ClientRuntimeConfig.cs
- CompilerGeneratedAttribute.cs
- Brush.cs
- RegisteredHiddenField.cs
- LayoutExceptionEventArgs.cs
- DiscoveryUtility.cs
- DataGridViewToolTip.cs
- ExtendedPropertiesHandler.cs
- MachineKeySection.cs
- TextInfo.cs
- ProxyFragment.cs
- FaultConverter.cs
- CrossContextChannel.cs
- Path.cs
- WebPartTransformerCollection.cs
- XamlBrushSerializer.cs
- LowerCaseStringConverter.cs
- GridItemPattern.cs
- MultiPageTextView.cs
- SequentialUshortCollection.cs
- PartitionerStatic.cs
- TableLayoutRowStyleCollection.cs
- TreeNodeMouseHoverEvent.cs