Code:
/ 4.0 / 4.0 / 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.
//----------------------------------------------------------------------
//
// 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
- CornerRadiusConverter.cs
- HtmlControl.cs
- LinearGradientBrush.cs
- datacache.cs
- OutputCacheProfile.cs
- TraceRecord.cs
- X509CertificateChain.cs
- BufferAllocator.cs
- PersistChildrenAttribute.cs
- UTF32Encoding.cs
- FixedSOMPageConstructor.cs
- PathFigure.cs
- ErrorStyle.cs
- VersionedStream.cs
- Bitmap.cs
- HttpCacheVary.cs
- TreeNodeStyle.cs
- BufferedReadStream.cs
- FilterEventArgs.cs
- DescendantOverDescendantQuery.cs
- HostedTransportConfigurationBase.cs
- OleStrCAMarshaler.cs
- SoapDocumentMethodAttribute.cs
- CharUnicodeInfo.cs
- DesigntimeLicenseContextSerializer.cs
- ReaderWriterLock.cs
- RegistryKey.cs
- FixedPosition.cs
- UriTemplateDispatchFormatter.cs
- ToolStripItemClickedEventArgs.cs
- ListBoxItemWrapperAutomationPeer.cs
- DbConnectionPoolGroup.cs
- NavigationFailedEventArgs.cs
- GroupBoxAutomationPeer.cs
- StackBuilderSink.cs
- ErrorStyle.cs
- LicFileLicenseProvider.cs
- DSASignatureDeformatter.cs
- ApplicationException.cs
- AppDomainUnloadedException.cs
- LongSumAggregationOperator.cs
- httpserverutility.cs
- selecteditemcollection.cs
- OrderedDictionary.cs
- WpfKnownTypeInvoker.cs
- X509Certificate2Collection.cs
- ComponentCommands.cs
- RegistryKey.cs
- ListViewItemMouseHoverEvent.cs
- ThreadAbortException.cs
- UnderstoodHeaders.cs
- XmlWellformedWriter.cs
- AudioFormatConverter.cs
- TreeViewDesigner.cs
- SafeViewOfFileHandle.cs
- unsafenativemethodsother.cs
- DeploymentSection.cs
- BindingNavigatorDesigner.cs
- EnumType.cs
- TextBox.cs
- PtsHost.cs
- DiscoveryReference.cs
- ApplyImportsAction.cs
- CharacterShapingProperties.cs
- EdmRelationshipRoleAttribute.cs
- CalendarAutoFormat.cs
- HttpProfileBase.cs
- ProtocolsSection.cs
- ReadingWritingEntityEventArgs.cs
- DataGridHeaderBorder.cs
- FileSystemEnumerable.cs
- X509Certificate.cs
- DesignerWithHeader.cs
- ZipIOLocalFileDataDescriptor.cs
- DictionaryEntry.cs
- WebRequestModuleElement.cs
- TransformValueSerializer.cs
- ExceptQueryOperator.cs
- RtfToXamlReader.cs
- DesignerValidatorAdapter.cs
- DesignerActionMethodItem.cs
- SubtreeProcessor.cs
- VirtualizingPanel.cs
- MulticastNotSupportedException.cs
- DesignerExtenders.cs
- DynamicActivityXamlReader.cs
- TypeConvertions.cs
- DynamicObject.cs
- CryptoProvider.cs
- FormsAuthenticationUserCollection.cs
- WebExceptionStatus.cs
- GenericUriParser.cs
- BinarySerializer.cs
- BookmarkScopeInfo.cs
- X509PeerCertificateElement.cs
- ClientScriptItem.cs
- ButtonStandardAdapter.cs
- DispatcherHooks.cs
- OleDbPermission.cs
- FontNameEditor.cs