Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlVisitor.cs
- ObjectDataSource.cs
- _PooledStream.cs
- MachineKeySection.cs
- Profiler.cs
- XsdValidatingReader.cs
- BuildManager.cs
- WindowsHyperlink.cs
- ForeignKeyConstraint.cs
- BinaryCommonClasses.cs
- ProviderCollection.cs
- NavigatingCancelEventArgs.cs
- DbDataReader.cs
- HtmlFormAdapter.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- ParamArrayAttribute.cs
- Tokenizer.cs
- CmsInterop.cs
- mansign.cs
- DeviceContext.cs
- BindingMemberInfo.cs
- SerialReceived.cs
- TreeNodeStyle.cs
- KeyValuePairs.cs
- ListItemCollection.cs
- Parameter.cs
- XmlLoader.cs
- FacetValues.cs
- SolidColorBrush.cs
- EventLogEntry.cs
- EnterpriseServicesHelper.cs
- NumberSubstitution.cs
- GrammarBuilderWildcard.cs
- CompModHelpers.cs
- IndexedString.cs
- SystemNetHelpers.cs
- InvalidComObjectException.cs
- SynchronizingStream.cs
- ConnectionManagementSection.cs
- MediaTimeline.cs
- PresentationTraceSources.cs
- InitializationEventAttribute.cs
- ObjectParameter.cs
- ApplicationSecurityInfo.cs
- MonthCalendar.cs
- RunClient.cs
- ExpressionBindings.cs
- MobileControlsSection.cs
- SpellerInterop.cs
- InfiniteTimeSpanConverter.cs
- DynamicRenderer.cs
- TagPrefixAttribute.cs
- ControlUtil.cs
- HtmlTableRow.cs
- AddingNewEventArgs.cs
- PrintingPermission.cs
- CultureMapper.cs
- ListSortDescriptionCollection.cs
- BinaryNode.cs
- ElementHost.cs
- SingleObjectCollection.cs
- XmlMembersMapping.cs
- ValidationErrorCollection.cs
- BitmapEffectDrawing.cs
- HttpPostClientProtocol.cs
- FaultDesigner.cs
- BitmapEffectGroup.cs
- TextEndOfLine.cs
- ToolStripContextMenu.cs
- DependencyObjectType.cs
- UrlPath.cs
- UIElement3DAutomationPeer.cs
- TextRenderer.cs
- MatcherBuilder.cs
- ProviderConnectionPoint.cs
- RadioButtonRenderer.cs
- ImmutableClientRuntime.cs
- DataService.cs
- UserControlFileEditor.cs
- Span.cs
- EventPrivateKey.cs
- DelegateSerializationHolder.cs
- Assert.cs
- AutomationElementCollection.cs
- AuthorizationSection.cs
- DbProviderConfigurationHandler.cs
- AssemblyResourceLoader.cs
- ContextMenu.cs
- latinshape.cs
- UniqueIdentifierService.cs
- DataGridViewButtonCell.cs
- DbExpressionVisitor_TResultType.cs
- TraceContext.cs
- NativeMethods.cs
- _NetRes.cs
- XmlMapping.cs
- TextLineBreak.cs
- XmlNode.cs
- PeerCollaborationPermission.cs
- SimpleApplicationHost.cs