Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / ALinq / InputReferenceExpression.cs / 1305376 / InputReferenceExpression.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Respresents a reference to a resource set in a resource bound expression tree.
//
//
// @owner [....]
//---------------------------------------------------------------------
namespace System.Data.Services.Client
{
using System;
using System.Diagnostics;
using System.Linq.Expressions;
///
/// Represents a reference to a bound resource set in the resource path.
/// The type of the input reference is the element type of the set.
///
///
/// Because the type of the input reference is the element type of the set,
/// it can be used to indicate what a range variable ranges over.
///
/// For example, in input.Select(b => b.id), 'input' is an IQueryable of T,
/// and 'b' is a parameter of type T. 'b' can be rebound as an input reference
/// to 'input' by the InputBinder, which helps in query analysis and
/// translation.
///
[DebuggerDisplay("InputReferenceExpression -> {Type}")]
internal sealed class InputReferenceExpression : Expression
{
/// The resource or set referred to by this input reference expression
private ResourceExpression target;
///
/// Constructs a new input reference expression that refers to the specified resource set
///
/// The target resource set that the new expression will reference
#pragma warning disable 618
internal InputReferenceExpression(ResourceExpression target)
: base((ExpressionType)ResourceExpressionType.InputReference, target.ResourceType)
{
Debug.Assert(target != null, "Target resource set cannot be null");
this.target = target;
}
#pragma warning restore 618
///
/// Retrieves the resource set referred to by this input reference expression
///
internal ResourceExpression Target
{
get { return this.target; }
}
///
/// Retargets this input reference to point to the resource set specified by .
///
/// The that this input reference should use as its target
internal void OverrideTarget(ResourceSetExpression newTarget)
{
Debug.Assert(newTarget != null, "Resource set cannot be null");
Debug.Assert(newTarget.ResourceType.Equals(this.Type), "Cannot reference a resource set with a different resource type");
this.target = newTarget;
}
}
}
// 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
- NotImplementedException.cs
- GeneralTransform.cs
- Soap.cs
- RemotingConfigParser.cs
- Type.cs
- MLangCodePageEncoding.cs
- ColorConverter.cs
- FixedSOMTableCell.cs
- StorageAssociationSetMapping.cs
- AuthenticationServiceManager.cs
- ClosableStream.cs
- SiteMembershipCondition.cs
- UdpDiscoveryMessageFilter.cs
- BindToObject.cs
- UIElementIsland.cs
- RestHandler.cs
- VisualProxy.cs
- Icon.cs
- TraceFilter.cs
- DebuggerAttributes.cs
- HttpStreamXmlDictionaryWriter.cs
- RandomDelaySendsAsyncResult.cs
- ModuleBuilder.cs
- FormsAuthenticationTicket.cs
- QilTypeChecker.cs
- ControlIdConverter.cs
- HtmlForm.cs
- DataControlPagerLinkButton.cs
- AnnotationResourceChangedEventArgs.cs
- TextEndOfSegment.cs
- NavigatorInput.cs
- Vector3DValueSerializer.cs
- InternalConfigHost.cs
- FormatterConverter.cs
- PrimitiveSchema.cs
- MethodMessage.cs
- AutoResizedEvent.cs
- _AutoWebProxyScriptHelper.cs
- TcpServerChannel.cs
- DSASignatureFormatter.cs
- RC2CryptoServiceProvider.cs
- HtmlControl.cs
- XamlToRtfParser.cs
- DeviceSpecificChoice.cs
- BindingGroup.cs
- GridSplitterAutomationPeer.cs
- RoutedPropertyChangedEventArgs.cs
- ClientRoleProvider.cs
- UserControl.cs
- ScrollBar.cs
- WebPartVerbCollection.cs
- UInt16Converter.cs
- counter.cs
- LinkedResourceCollection.cs
- Activity.cs
- ImageSourceValueSerializer.cs
- ExpressionHelper.cs
- SizeF.cs
- ProfileProvider.cs
- DebuggerAttributes.cs
- GenericRootAutomationPeer.cs
- AspNetHostingPermission.cs
- DataGridViewCellStyleConverter.cs
- WebConfigurationManager.cs
- StandardTransformFactory.cs
- RenameRuleObjectDialog.Designer.cs
- PageBuildProvider.cs
- ErrorTableItemStyle.cs
- dataSvcMapFileLoader.cs
- ObjectStorage.cs
- XmlProcessingInstruction.cs
- SafeEventLogWriteHandle.cs
- CssTextWriter.cs
- XmlCharCheckingWriter.cs
- WebSysDescriptionAttribute.cs
- GridPattern.cs
- TiffBitmapDecoder.cs
- SmiGettersStream.cs
- FullTextBreakpoint.cs
- ComboBoxRenderer.cs
- HostProtectionException.cs
- GeneralTransform3D.cs
- EntityKeyElement.cs
- Error.cs
- PlaceHolder.cs
- Parser.cs
- XPathQilFactory.cs
- StickyNoteHelper.cs
- ThreadSafeList.cs
- TypeSystem.cs
- BindingElementCollection.cs
- Point.cs
- StoragePropertyMapping.cs
- BindingParameterCollection.cs
- ResumeStoryboard.cs
- IResourceProvider.cs
- XmlSchemaComplexType.cs
- UnsafeNativeMethodsPenimc.cs
- MultitargetUtil.cs
- SerializationInfo.cs