Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / ALinq / ParameterReplacerVisitor.cs / 1 / ParameterReplacerVisitor.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides an expression visitor that can replace a ParameterExpression. // // // @owner [....], [....] //--------------------------------------------------------------------- namespace System.Data.Services.Client { using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Diagnostics; ///Provides an expression visitor that can replace a internal class ParameterReplacerVisitor : ExpressionVisitor { ///. Expression to replace with. private Expression newExpression; ///Parameter to replace. private ParameterExpression oldParameter; ///Initializes a new /// Parameter to replace. /// Expression to replace with. private ParameterReplacerVisitor(ParameterExpression oldParameter, Expression newExpression) { this.oldParameter = oldParameter; this.newExpression = newExpression; } ///instance. /// Replaces the occurences of /// Expression to perform replacement on. /// Parameter to replace. /// Expression to replace with. ///for in /// . /// A new expression with the replacement performed. internal static Expression Replace(Expression expression, ParameterExpression oldParameter, Expression newExpression) { Debug.Assert(expression != null, "expression != null"); Debug.Assert(oldParameter != null, "oldParameter != null"); Debug.Assert(newExpression != null, "newExpression != null"); return new ParameterReplacerVisitor(oldParameter, newExpression).Visit(expression); } ///ParameterExpression visit method. /// The ParameterExpression expression to visit ///The visited ParameterExpression expression internal override Expression VisitParameter(ParameterExpression p) { if (p == this.oldParameter) { return this.newExpression; } else { return p; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides an expression visitor that can replace a ParameterExpression. // // // @owner [....], [....] //--------------------------------------------------------------------- namespace System.Data.Services.Client { using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Diagnostics; ///Provides an expression visitor that can replace a internal class ParameterReplacerVisitor : ExpressionVisitor { ///. Expression to replace with. private Expression newExpression; ///Parameter to replace. private ParameterExpression oldParameter; ///Initializes a new /// Parameter to replace. /// Expression to replace with. private ParameterReplacerVisitor(ParameterExpression oldParameter, Expression newExpression) { this.oldParameter = oldParameter; this.newExpression = newExpression; } ///instance. /// Replaces the occurences of /// Expression to perform replacement on. /// Parameter to replace. /// Expression to replace with. ///for in /// . /// A new expression with the replacement performed. internal static Expression Replace(Expression expression, ParameterExpression oldParameter, Expression newExpression) { Debug.Assert(expression != null, "expression != null"); Debug.Assert(oldParameter != null, "oldParameter != null"); Debug.Assert(newExpression != null, "newExpression != null"); return new ParameterReplacerVisitor(oldParameter, newExpression).Visit(expression); } ///ParameterExpression visit method. /// The ParameterExpression expression to visit ///The visited ParameterExpression expression internal override Expression VisitParameter(ParameterExpression p) { if (p == this.oldParameter) { return this.newExpression; } else { return p; } } } } // 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
- TextServicesCompartmentContext.cs
- BaseAppDomainProtocolHandler.cs
- ActionFrame.cs
- RepeatButton.cs
- ClusterRegistryConfigurationProvider.cs
- IPPacketInformation.cs
- ScaleTransform.cs
- EnumerableRowCollection.cs
- WindowsEditBox.cs
- CompiledQueryCacheKey.cs
- Variable.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- DocumentAutomationPeer.cs
- _NtlmClient.cs
- CatalogZone.cs
- HandlerBase.cs
- AssemblyNameEqualityComparer.cs
- ParserStreamGeometryContext.cs
- Error.cs
- _CommandStream.cs
- SolidBrush.cs
- InertiaRotationBehavior.cs
- HtmlEmptyTagControlBuilder.cs
- LabelAutomationPeer.cs
- DecoderFallbackWithFailureFlag.cs
- Pool.cs
- TreeIterators.cs
- TextElementEnumerator.cs
- InstanceDataCollectionCollection.cs
- ServicePoint.cs
- DBParameter.cs
- WebScriptEndpoint.cs
- InputMethod.cs
- SelectionItemPattern.cs
- ModuleConfigurationInfo.cs
- PropertyCollection.cs
- DynamicFilterExpression.cs
- DataGridViewColumnConverter.cs
- GenericAuthenticationEventArgs.cs
- RegistryConfigurationProvider.cs
- StateWorkerRequest.cs
- Substitution.cs
- CollectionTypeElement.cs
- ProcessHostConfigUtils.cs
- SupportsEventValidationAttribute.cs
- ReflectionPermission.cs
- Stackframe.cs
- Stackframe.cs
- ThicknessAnimationBase.cs
- Misc.cs
- SqlUserDefinedTypeAttribute.cs
- TemplateNodeContextMenu.cs
- SafeUserTokenHandle.cs
- SparseMemoryStream.cs
- ConditionalAttribute.cs
- ValueTable.cs
- AnnouncementDispatcherAsyncResult.cs
- EmptyEnumerator.cs
- DocumentPaginator.cs
- WrappedDispatcherException.cs
- ByteStack.cs
- XmlSignatureProperties.cs
- CodeIdentifier.cs
- XPathNodePointer.cs
- StrongNameKeyPair.cs
- CharKeyFrameCollection.cs
- OdbcFactory.cs
- VideoDrawing.cs
- MultiAsyncResult.cs
- WebExceptionStatus.cs
- Serializer.cs
- PageCache.cs
- BitmapFrame.cs
- MailHeaderInfo.cs
- ProjectionPathBuilder.cs
- CallbackValidator.cs
- IncrementalCompileAnalyzer.cs
- Relationship.cs
- BamlBinaryReader.cs
- EntityCommandDefinition.cs
- HttpCookie.cs
- CompModSwitches.cs
- CalendarDay.cs
- ReferencedType.cs
- DetailsViewPagerRow.cs
- TextAutomationPeer.cs
- DbCommandDefinition.cs
- SoapFault.cs
- RepeatInfo.cs
- Vector.cs
- ReachSerializationCacheItems.cs
- Nodes.cs
- FixedSOMFixedBlock.cs
- DataDocumentXPathNavigator.cs
- PrinterSettings.cs
- ObjectItemAssemblyLoader.cs
- XsdBuildProvider.cs
- InkCanvasSelection.cs
- Site.cs
- GridViewDeleteEventArgs.cs