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
- storepermissionattribute.cs
- DataGridViewTopLeftHeaderCell.cs
- TextWriterTraceListener.cs
- FileFormatException.cs
- FileNotFoundException.cs
- EmptyEnumerable.cs
- CommonServiceBehaviorElement.cs
- KeyboardDevice.cs
- EventRouteFactory.cs
- AnnotationComponentManager.cs
- ToRequest.cs
- FormView.cs
- AutoResetEvent.cs
- FontDialog.cs
- CaseInsensitiveHashCodeProvider.cs
- ClientType.cs
- _DomainName.cs
- MimeFormatter.cs
- NamespaceMapping.cs
- DocumentOutline.cs
- SqlUtils.cs
- SerialStream.cs
- FixUpCollection.cs
- DefaultTraceListener.cs
- RequestBringIntoViewEventArgs.cs
- WindowsStatic.cs
- ImageMap.cs
- ToolStrip.cs
- LayoutEngine.cs
- ClientRoleProvider.cs
- EventListenerClientSide.cs
- XmlDictionaryString.cs
- PermissionSetTriple.cs
- Property.cs
- SoapIgnoreAttribute.cs
- FtpWebResponse.cs
- ScriptDescriptor.cs
- SqlCacheDependencyDatabase.cs
- InvalidCastException.cs
- PersonalizableAttribute.cs
- MimeMapping.cs
- InlinedAggregationOperator.cs
- StringUtil.cs
- PolyQuadraticBezierSegment.cs
- RectIndependentAnimationStorage.cs
- ComponentEditorForm.cs
- NativeCppClassAttribute.cs
- DataTableTypeConverter.cs
- DataGridHeaderBorder.cs
- TableRow.cs
- DependencySource.cs
- PropertyChangingEventArgs.cs
- XhtmlTextWriter.cs
- SqlAliaser.cs
- PeerInputChannelListener.cs
- ToolStripDesignerAvailabilityAttribute.cs
- OracleLob.cs
- SignatureGenerator.cs
- ArrangedElement.cs
- EventDriven.cs
- EncryptedType.cs
- TreeNodeStyleCollectionEditor.cs
- IncrementalReadDecoders.cs
- SQLDecimal.cs
- WebControlParameterProxy.cs
- ExpressionBuilder.cs
- ModifierKeysValueSerializer.cs
- OdbcDataReader.cs
- AvTraceFormat.cs
- COSERVERINFO.cs
- DataControlField.cs
- XmlSchema.cs
- BrowserDefinition.cs
- PropertyGeneratedEventArgs.cs
- Scheduling.cs
- DataControlPagerLinkButton.cs
- ClientRoleProvider.cs
- TextBoxBase.cs
- DataGridAutoFormatDialog.cs
- ControlBindingsCollection.cs
- NameGenerator.cs
- SpeechRecognitionEngine.cs
- DictionaryTraceRecord.cs
- TreeNodeClickEventArgs.cs
- Separator.cs
- CopyNamespacesAction.cs
- ServiceRoute.cs
- Byte.cs
- EntryWrittenEventArgs.cs
- ReverseInheritProperty.cs
- oledbconnectionstring.cs
- EntityDataSourceContainerNameConverter.cs
- TimeSpanOrInfiniteConverter.cs
- WindowsListViewItemCheckBox.cs
- ParseNumbers.cs
- XmlRootAttribute.cs
- DataReaderContainer.cs
- XmlSchemaObjectTable.cs
- WebPartManagerInternals.cs
- DataGridDetailsPresenterAutomationPeer.cs