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
- ComplexTypeEmitter.cs
- AnnotationComponentChooser.cs
- DataGridViewTopLeftHeaderCell.cs
- TranslateTransform3D.cs
- RawStylusInputCustomData.cs
- TCEAdapterGenerator.cs
- Attributes.cs
- XsdBuilder.cs
- RawStylusSystemGestureInputReport.cs
- SpecularMaterial.cs
- SafeNativeMethods.cs
- CollectionViewGroupInternal.cs
- SerializerProvider.cs
- AvTraceDetails.cs
- SystemIcons.cs
- Literal.cs
- FamilyMap.cs
- TreeNode.cs
- SynchronizationContextHelper.cs
- EventListenerClientSide.cs
- AnimatedTypeHelpers.cs
- SqlClientFactory.cs
- KeyboardEventArgs.cs
- User.cs
- SvcMapFile.cs
- HttpPostedFile.cs
- ColumnTypeConverter.cs
- HtmlInputCheckBox.cs
- FileSystemEnumerable.cs
- WebPartConnection.cs
- BasicCellRelation.cs
- HttpWriter.cs
- DPTypeDescriptorContext.cs
- dataprotectionpermission.cs
- Base64Encoding.cs
- ControlAdapter.cs
- RuntimeConfigLKG.cs
- HwndMouseInputProvider.cs
- FrameworkElement.cs
- PrintDialog.cs
- CharEnumerator.cs
- FocusChangedEventArgs.cs
- XmlNavigatorFilter.cs
- NumberSubstitution.cs
- TextServicesProperty.cs
- DecoderNLS.cs
- CellParagraph.cs
- Camera.cs
- EdgeProfileValidation.cs
- ConsumerConnectionPointCollection.cs
- RegexWorker.cs
- PropertyGridEditorPart.cs
- HttpPostedFile.cs
- WCFServiceClientProxyGenerator.cs
- SchemaEntity.cs
- Transform.cs
- MatchingStyle.cs
- CodeRegionDirective.cs
- SocketAddress.cs
- CasesDictionary.cs
- CatalogPartChrome.cs
- BitmapDownload.cs
- BindingBase.cs
- ToolStripContainer.cs
- Adorner.cs
- DataGridParentRows.cs
- ObjectTag.cs
- SoapAttributeAttribute.cs
- ScalarOps.cs
- HttpDateParse.cs
- remotingproxy.cs
- StringUtil.cs
- MailAddress.cs
- InplaceBitmapMetadataWriter.cs
- MembershipSection.cs
- HtmlInputPassword.cs
- OutOfProcStateClientManager.cs
- HttpListenerElement.cs
- DataGridColumn.cs
- ProcessInputEventArgs.cs
- Int16AnimationBase.cs
- SingleAnimationUsingKeyFrames.cs
- UrlPropertyAttribute.cs
- HtmlElementErrorEventArgs.cs
- SecurityPermission.cs
- ConditionalAttribute.cs
- EmptyCollection.cs
- MobilePage.cs
- LocationSectionRecord.cs
- DocumentXmlWriter.cs
- CustomAttributeBuilder.cs
- FactoryId.cs
- CryptoKeySecurity.cs
- WeakReferenceKey.cs
- MulticastNotSupportedException.cs
- UTF8Encoding.cs
- FormViewDeletedEventArgs.cs
- PathFigureCollection.cs
- ArrayWithOffset.cs
- Brushes.cs