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
- StylusEditingBehavior.cs
- VirtualPathProvider.cs
- DefaultAsyncDataDispatcher.cs
- MatrixConverter.cs
- UInt32.cs
- HostingPreferredMapPath.cs
- SiteMapSection.cs
- EntityDataSourceWrapper.cs
- ChangeToolStripParentVerb.cs
- ParserOptions.cs
- FocusWithinProperty.cs
- VectorAnimationBase.cs
- EditorPart.cs
- MULTI_QI.cs
- StrongTypingException.cs
- InkCanvasSelection.cs
- AnnotationDocumentPaginator.cs
- VisualBrush.cs
- SqlTransaction.cs
- WebPartDisplayMode.cs
- DataGridCommandEventArgs.cs
- CompiledRegexRunner.cs
- UserControl.cs
- DecimalFormatter.cs
- HttpPostProtocolImporter.cs
- TypefaceCollection.cs
- GeometryCollection.cs
- SqlDependencyUtils.cs
- StylusLogic.cs
- Repeater.cs
- RegexWriter.cs
- XsdDataContractImporter.cs
- CellQuery.cs
- TimeSpanStorage.cs
- PlatformNotSupportedException.cs
- Keyboard.cs
- ProxyHwnd.cs
- TimeSpanOrInfiniteConverter.cs
- GenericWebPart.cs
- PatternMatcher.cs
- IncrementalCompileAnalyzer.cs
- AnimationStorage.cs
- DisplayNameAttribute.cs
- BookmarkWorkItem.cs
- XmlStringTable.cs
- PointKeyFrameCollection.cs
- EventManager.cs
- Button.cs
- GPRECTF.cs
- CfgParser.cs
- StateItem.cs
- DefaultBindingPropertyAttribute.cs
- ContractMapping.cs
- XslTransform.cs
- ZipIORawDataFileBlock.cs
- SqlTypeConverter.cs
- CapabilitiesState.cs
- ReservationNotFoundException.cs
- MethodMessage.cs
- ConstraintEnumerator.cs
- XmlReader.cs
- XamlSerializerUtil.cs
- IImplicitResourceProvider.cs
- DecimalConverter.cs
- Stack.cs
- RestHandlerFactory.cs
- MsmqIntegrationInputChannel.cs
- LogStore.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- ResourcePart.cs
- RequestCacheManager.cs
- FamilyCollection.cs
- XPathNodeInfoAtom.cs
- Style.cs
- HtmlMeta.cs
- GenericRootAutomationPeer.cs
- GridItemProviderWrapper.cs
- SemanticTag.cs
- SoapAttributeOverrides.cs
- mansign.cs
- AllMembershipCondition.cs
- ResumeStoryboard.cs
- ListViewCancelEventArgs.cs
- EventHandlersStore.cs
- ElementHost.cs
- CodeStatement.cs
- Annotation.cs
- UIElementHelper.cs
- ScrollableControl.cs
- RuleEngine.cs
- SelectionListComponentEditor.cs
- ValidationEventArgs.cs
- OSFeature.cs
- RegexCode.cs
- GridViewSelectEventArgs.cs
- DataControlPagerLinkButton.cs
- ContentTextAutomationPeer.cs
- RepeaterCommandEventArgs.cs
- DetailsViewUpdatedEventArgs.cs
- HTMLTagNameToTypeMapper.cs