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
- BitmapDownload.cs
- CaseStatement.cs
- DocumentStream.cs
- TypeSystem.cs
- ColorContext.cs
- XmlSchemaCollection.cs
- FieldInfo.cs
- SiteMapProvider.cs
- DataProviderNameConverter.cs
- FixedStringLookup.cs
- ManagementObject.cs
- BeginStoryboard.cs
- BoundingRectTracker.cs
- PasswordTextNavigator.cs
- FlowDocumentScrollViewer.cs
- GenericXmlSecurityToken.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- VSWCFServiceContractGenerator.cs
- DeclaredTypeElementCollection.cs
- SynthesizerStateChangedEventArgs.cs
- XmlSchemaInfo.cs
- CreatingCookieEventArgs.cs
- SRGSCompiler.cs
- hresults.cs
- DBNull.cs
- WindowsRichEdit.cs
- TypeNameConverter.cs
- DataServiceKeyAttribute.cs
- _SslStream.cs
- FileBasedResourceGroveler.cs
- MDIControlStrip.cs
- ActivityTypeCodeDomSerializer.cs
- FormattedTextSymbols.cs
- SQLInt16.cs
- UrlMapping.cs
- WindowsFont.cs
- RtfControls.cs
- CompositeDuplexBindingElementImporter.cs
- MsmqIntegrationProcessProtocolHandler.cs
- SessionSwitchEventArgs.cs
- ProcessHost.cs
- PipeSecurity.cs
- DoWorkEventArgs.cs
- ChangeBlockUndoRecord.cs
- FileDialogCustomPlacesCollection.cs
- ThemeDictionaryExtension.cs
- ThemeDictionaryExtension.cs
- PackageDigitalSignature.cs
- DataFieldCollectionEditor.cs
- Root.cs
- SqlProcedureAttribute.cs
- MDIWindowDialog.cs
- CodeAccessSecurityEngine.cs
- TabControlCancelEvent.cs
- Page.cs
- SqlTypesSchemaImporter.cs
- InfoCardMasterKey.cs
- RightsManagementManager.cs
- SymDocumentType.cs
- InvalidateEvent.cs
- ReflectionUtil.cs
- ResourcesGenerator.cs
- UIntPtr.cs
- TraceLog.cs
- DocumentSchemaValidator.cs
- SafeMemoryMappedViewHandle.cs
- LineMetrics.cs
- TypeSystem.cs
- TextModifier.cs
- DrawToolTipEventArgs.cs
- MimeFormReflector.cs
- NumericUpDownAcceleration.cs
- MobileTextWriter.cs
- SHA1CryptoServiceProvider.cs
- Point3DAnimation.cs
- BindingMAnagerBase.cs
- AsymmetricSignatureDeformatter.cs
- FastPropertyAccessor.cs
- IssuedSecurityTokenProvider.cs
- Main.cs
- DesignerLoader.cs
- ServiceReference.cs
- MaterializeFromAtom.cs
- NameTable.cs
- MouseWheelEventArgs.cs
- mansign.cs
- PrePostDescendentsWalker.cs
- NotConverter.cs
- QilDataSource.cs
- Panel.cs
- DataControlFieldsEditor.cs
- ShortcutKeysEditor.cs
- UInt32Converter.cs
- IsolatedStoragePermission.cs
- SafeNativeMethods.cs
- TransformProviderWrapper.cs
- TypeForwardedToAttribute.cs
- DataRecordInternal.cs
- PropertyItem.cs
- DbConnectionPoolOptions.cs