Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / ProjectionPathSegment.cs / 1305376 / ProjectionPathSegment.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a class that represents a single step in a path of segments // over a parsed tree used during projection-driven materialization. // //--------------------------------------------------------------------- namespace System.Data.Services.Client { #region Namespaces. using System; using System.Diagnostics; using System.Linq.Expressions; #endregion Namespaces. ////// Use this class to represent a step in a path of segments /// over a parsed tree used during projection-driven materialization. /// [DebuggerDisplay("Segment {ProjectionType} {Member}")] internal class ProjectionPathSegment { #region Constructors. ///Initializes a new /// Path on which this segment is located. /// Name of member to access when traversing a property; possibly null. /// /// Type that we expect to project out; typically the same asinstance. , but may be adjusted. /// internal ProjectionPathSegment(ProjectionPath startPath, string member, Type projectionType) { Debug.Assert(startPath != null, "startPath != null"); this.Member = member; this.StartPath = startPath; this.ProjectionType = projectionType; } #endregion Constructors. #region Internal properties. /// Name of member to access when traversing a property; possibly null. internal string Member { get; private set; } ////// Type that we expect to project out; typically the same as ///, but may be adjusted. /// /// In particular, this type will be adjusted for nested narrowing entity types. /// /// For example: /// from c in ctx.Customers select new NarrowCustomer() { /// ID = c.ID, /// BestFriend = new NarrowCustomer() { ID = c.BestFriend.ID } /// } /// /// In this case, ID will match types on both sides, but BestFriend /// will be of type Customer in the member access of the source tree /// and we want to project out a member-initialized NarrowCustomer /// in the target tree. /// internal Type ProjectionType { get; set; } ///Path on which this segment is located. internal ProjectionPath StartPath { get; private set; } #endregion Internal properties. } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a class that represents a single step in a path of segments // over a parsed tree used during projection-driven materialization. // //--------------------------------------------------------------------- namespace System.Data.Services.Client { #region Namespaces. using System; using System.Diagnostics; using System.Linq.Expressions; #endregion Namespaces. ////// Use this class to represent a step in a path of segments /// over a parsed tree used during projection-driven materialization. /// [DebuggerDisplay("Segment {ProjectionType} {Member}")] internal class ProjectionPathSegment { #region Constructors. ///Initializes a new /// Path on which this segment is located. /// Name of member to access when traversing a property; possibly null. /// /// Type that we expect to project out; typically the same asinstance. , but may be adjusted. /// internal ProjectionPathSegment(ProjectionPath startPath, string member, Type projectionType) { Debug.Assert(startPath != null, "startPath != null"); this.Member = member; this.StartPath = startPath; this.ProjectionType = projectionType; } #endregion Constructors. #region Internal properties. /// Name of member to access when traversing a property; possibly null. internal string Member { get; private set; } ////// Type that we expect to project out; typically the same as ///, but may be adjusted. /// /// In particular, this type will be adjusted for nested narrowing entity types. /// /// For example: /// from c in ctx.Customers select new NarrowCustomer() { /// ID = c.ID, /// BestFriend = new NarrowCustomer() { ID = c.BestFriend.ID } /// } /// /// In this case, ID will match types on both sides, but BestFriend /// will be of type Customer in the member access of the source tree /// and we want to project out a member-initialized NarrowCustomer /// in the target tree. /// internal Type ProjectionType { get; set; } ///Path on which this segment is located. internal ProjectionPath StartPath { get; private set; } #endregion Internal properties. } } // 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
- log.cs
- WindowsTokenRoleProvider.cs
- DataGridViewButtonColumn.cs
- Sequence.cs
- PerspectiveCamera.cs
- XPathQueryGenerator.cs
- XmlSortKey.cs
- Char.cs
- Utils.cs
- QilFactory.cs
- HashCodeCombiner.cs
- XsdDuration.cs
- HttpTransportSecurity.cs
- UnsafeNativeMethods.cs
- Drawing.cs
- ResourcePermissionBase.cs
- CompositeCollectionView.cs
- CompilerErrorCollection.cs
- Int64Animation.cs
- MenuItemBindingCollection.cs
- ListViewItemMouseHoverEvent.cs
- Label.cs
- DockPanel.cs
- XmlNodeReader.cs
- Underline.cs
- TextEndOfParagraph.cs
- NumericUpDownAccelerationCollection.cs
- CallbackException.cs
- AuthenticationModuleElementCollection.cs
- SharedPerformanceCounter.cs
- ContourSegment.cs
- Main.cs
- WebPartMinimizeVerb.cs
- DataGridTextColumn.cs
- DragEvent.cs
- HttpProfileGroupBase.cs
- ExpressionBinding.cs
- TrailingSpaceComparer.cs
- NativeMethods.cs
- UInt64.cs
- PathSegmentCollection.cs
- X500Name.cs
- ModelItemKeyValuePair.cs
- RegexRunnerFactory.cs
- COM2ExtendedBrowsingHandler.cs
- DisableDpiAwarenessAttribute.cs
- TypedReference.cs
- FormsAuthenticationModule.cs
- SqlCharStream.cs
- QueueProcessor.cs
- PropertyEntry.cs
- MD5CryptoServiceProvider.cs
- FixUp.cs
- MeasureData.cs
- ImageCollectionEditor.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- TextSimpleMarkerProperties.cs
- CryptoKeySecurity.cs
- AppSettingsExpressionBuilder.cs
- __TransparentProxy.cs
- ClosableStream.cs
- TypeReference.cs
- XmlResolver.cs
- TriState.cs
- ResourceDescriptionAttribute.cs
- GlyphInfoList.cs
- ObjectIDGenerator.cs
- EditCommandColumn.cs
- ContractHandle.cs
- EffectiveValueEntry.cs
- PointLight.cs
- XslCompiledTransform.cs
- UInt64Converter.cs
- PropertyDescriptor.cs
- TrackingMemoryStream.cs
- GlobalItem.cs
- LineServices.cs
- PropertyGroupDescription.cs
- RegexCaptureCollection.cs
- DataObject.cs
- UniqueConstraint.cs
- DataGridColumnHeaderAutomationPeer.cs
- DataGridItemCollection.cs
- TileBrush.cs
- ThicknessAnimationBase.cs
- ProofTokenCryptoHandle.cs
- CorrelationValidator.cs
- ZipIOLocalFileBlock.cs
- CodeConstructor.cs
- SQLBytesStorage.cs
- LambdaCompiler.Address.cs
- Point3DKeyFrameCollection.cs
- ZipIOModeEnforcingStream.cs
- SymLanguageVendor.cs
- Timer.cs
- IntegerValidatorAttribute.cs
- COAUTHINFO.cs
- HtmlTableRowCollection.cs
- Panel.cs
- SqlProcedureAttribute.cs