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
- HitTestWithPointDrawingContextWalker.cs
- XamlInt32CollectionSerializer.cs
- IssuedTokenServiceElement.cs
- ToolStripSeparator.cs
- KeyedPriorityQueue.cs
- DirectoryInfo.cs
- HuffmanTree.cs
- PrintEvent.cs
- Row.cs
- Config.cs
- ProfileModule.cs
- TypeBuilder.cs
- SingletonInstanceContextProvider.cs
- RemoteWebConfigurationHost.cs
- BigInt.cs
- XmlSchemas.cs
- BatchParser.cs
- RadioButton.cs
- BreakRecordTable.cs
- VersionUtil.cs
- DependencyPropertyDescriptor.cs
- WeakReference.cs
- OdbcConnectionPoolProviderInfo.cs
- DesignerAttribute.cs
- RequestCacheValidator.cs
- RNGCryptoServiceProvider.cs
- WriteTimeStream.cs
- BufferedWebEventProvider.cs
- ScriptControlDescriptor.cs
- DNS.cs
- PerfCounterSection.cs
- CodeEventReferenceExpression.cs
- LineUtil.cs
- _RequestCacheProtocol.cs
- SynchronizedInputHelper.cs
- FindCriteriaApril2005.cs
- HttpHandlerActionCollection.cs
- Deserializer.cs
- SamlAuthenticationClaimResource.cs
- RegexParser.cs
- ProbeDuplexAsyncResult.cs
- TemplateContainer.cs
- ImageSourceValueSerializer.cs
- PersonalizationAdministration.cs
- WebConfigurationHost.cs
- ColorBuilder.cs
- SqlExpander.cs
- CommandCollectionEditor.cs
- WCFBuildProvider.cs
- CustomTypeDescriptor.cs
- ConstNode.cs
- MouseEvent.cs
- SafeBitVector32.cs
- ListDictionaryInternal.cs
- TemplateBamlRecordReader.cs
- BoundsDrawingContextWalker.cs
- PrintDialogDesigner.cs
- UInt32.cs
- UpDownEvent.cs
- NativeMethods.cs
- ResourcePermissionBaseEntry.cs
- XPathExpr.cs
- DesignTimeParseData.cs
- MemoryFailPoint.cs
- KeyFrames.cs
- InfiniteTimeSpanConverter.cs
- TextTreePropertyUndoUnit.cs
- TreeNode.cs
- IgnorePropertiesAttribute.cs
- DocumentGridContextMenu.cs
- CodeTypeReference.cs
- PropertyMapper.cs
- AsymmetricSignatureFormatter.cs
- OrderByExpression.cs
- TableLayoutStyleCollection.cs
- WorkflowInstance.cs
- UnsafeNativeMethodsTablet.cs
- ConfigurationManager.cs
- ListenerTraceUtility.cs
- EdmScalarPropertyAttribute.cs
- ColorTransformHelper.cs
- XmlSchemaException.cs
- ImageListStreamer.cs
- XmlEntityReference.cs
- IItemProperties.cs
- Color.cs
- SapiRecognizer.cs
- PropertyGridEditorPart.cs
- VBIdentifierTrimConverter.cs
- SafeNativeMethods.cs
- _NegotiateClient.cs
- DefaultHttpHandler.cs
- UnknownWrapper.cs
- WebPartEditorApplyVerb.cs
- ChangeTracker.cs
- CompositeActivityTypeDescriptorProvider.cs
- URLIdentityPermission.cs
- DbFunctionCommandTree.cs
- ApplicationManager.cs
- PropertyChangeTracker.cs