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
- XslTransform.cs
- Quaternion.cs
- UTF7Encoding.cs
- XmlLanguage.cs
- URLEditor.cs
- XmlAutoDetectWriter.cs
- MsmqMessageProperty.cs
- SvcMapFileSerializer.cs
- PeerDuplexChannelListener.cs
- SpellerStatusTable.cs
- OleCmdHelper.cs
- Highlights.cs
- ActivationArguments.cs
- Parser.cs
- HandlerFactoryWrapper.cs
- SymLanguageType.cs
- StrokeIntersection.cs
- PreProcessInputEventArgs.cs
- COSERVERINFO.cs
- ToggleButtonAutomationPeer.cs
- OutOfProcStateClientManager.cs
- SqlDataSourceCustomCommandPanel.cs
- TypedTableBase.cs
- PageContentAsyncResult.cs
- PerformanceCounterPermissionEntry.cs
- TableRowGroupCollection.cs
- TagNameToTypeMapper.cs
- DataServiceStreamProviderWrapper.cs
- EpmTargetTree.cs
- AutomationProperty.cs
- FontFamilyValueSerializer.cs
- WebPartTransformer.cs
- DocobjHost.cs
- DataMemberConverter.cs
- ShaperBuffers.cs
- NavigationProperty.cs
- WebPartMenuStyle.cs
- MSG.cs
- FactoryMaker.cs
- WebPartVerb.cs
- KeyBinding.cs
- WindowsButton.cs
- QuaternionAnimation.cs
- BrushConverter.cs
- CalendarTable.cs
- Expression.DebuggerProxy.cs
- UseAttributeSetsAction.cs
- Cursor.cs
- HashJoinQueryOperatorEnumerator.cs
- ListViewItem.cs
- ControlType.cs
- DocumentSequenceHighlightLayer.cs
- FormViewCommandEventArgs.cs
- PocoEntityKeyStrategy.cs
- ClientEndpointLoader.cs
- AttributeCollection.cs
- PenLineCapValidation.cs
- TransactedBatchingElement.cs
- ClientTargetCollection.cs
- KerberosReceiverSecurityToken.cs
- DSASignatureDeformatter.cs
- SchemaAttDef.cs
- CommentEmitter.cs
- CommandLibraryHelper.cs
- BackgroundWorker.cs
- CodeDelegateInvokeExpression.cs
- TreeNodeMouseHoverEvent.cs
- BuiltInExpr.cs
- TreeWalker.cs
- ClockGroup.cs
- Propagator.JoinPropagator.SubstitutingCloneVisitor.cs
- ScriptModule.cs
- AQNBuilder.cs
- OrderByBuilder.cs
- DataGridHeaderBorder.cs
- AsyncWaitHandle.cs
- LinqExpressionNormalizer.cs
- FontSizeConverter.cs
- wmiprovider.cs
- _SSPISessionCache.cs
- DataServiceQuery.cs
- CodeCatchClause.cs
- ServiceReflector.cs
- VisualStyleTypesAndProperties.cs
- MouseActionConverter.cs
- LoginDesignerUtil.cs
- InfoCardBaseException.cs
- BridgeDataReader.cs
- TypeDescriptionProviderAttribute.cs
- PrintPreviewGraphics.cs
- ToolStripDropDownMenu.cs
- Compiler.cs
- RequestCachePolicyConverter.cs
- KnownTypesHelper.cs
- CryptoApi.cs
- Parser.cs
- Matrix.cs
- AutomationProperties.cs
- SQLChars.cs
- SafeLibraryHandle.cs