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
- ViewgenGatekeeper.cs
- TextBoxRenderer.cs
- TrustSection.cs
- EncoderNLS.cs
- SQLByte.cs
- StringPropertyBuilder.cs
- TransactionInterop.cs
- XmlQueryType.cs
- OletxTransactionManager.cs
- StylusEventArgs.cs
- CompareValidator.cs
- PassportAuthenticationEventArgs.cs
- SelectionProviderWrapper.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- XPathArrayIterator.cs
- ReceiveReply.cs
- CheckBox.cs
- TemplateNameScope.cs
- TemplateColumn.cs
- ZipIOFileItemStream.cs
- DbInsertCommandTree.cs
- MdImport.cs
- SimpleLine.cs
- AmbientValueAttribute.cs
- SignatureHelper.cs
- ProjectedWrapper.cs
- DragDeltaEventArgs.cs
- Object.cs
- InfoCardBaseException.cs
- FigureHelper.cs
- Missing.cs
- FocusManager.cs
- Claim.cs
- PropertyValue.cs
- InputLanguageProfileNotifySink.cs
- AppDomainProtocolHandler.cs
- StrongName.cs
- Resources.Designer.cs
- ChangeNode.cs
- GeneralTransformGroup.cs
- TargetFrameworkAttribute.cs
- CodeGotoStatement.cs
- MessagePropertyAttribute.cs
- SchemeSettingElementCollection.cs
- Schedule.cs
- AssemblyBuilderData.cs
- xml.cs
- AbandonedMutexException.cs
- EDesignUtil.cs
- NameValueCollection.cs
- AssemblyBuilder.cs
- QuaternionValueSerializer.cs
- RuntimeIdentifierPropertyAttribute.cs
- DragStartedEventArgs.cs
- Int64Converter.cs
- TabletDevice.cs
- EncoderNLS.cs
- ObjectDataSourceSelectingEventArgs.cs
- TextRenderer.cs
- TableCell.cs
- DesignTimeDataBinding.cs
- ProfilePropertySettings.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ListViewItem.cs
- EncodingTable.cs
- KeyValuePair.cs
- Attachment.cs
- XNodeValidator.cs
- __ConsoleStream.cs
- NameObjectCollectionBase.cs
- SqlProfileProvider.cs
- Partitioner.cs
- DataServiceCollectionOfT.cs
- MenuRenderer.cs
- QueryResponse.cs
- IEnumerable.cs
- HitTestParameters3D.cs
- WeakReadOnlyCollection.cs
- EventPropertyMap.cs
- Style.cs
- SqlParameterizer.cs
- DetailsViewPageEventArgs.cs
- GlyphManager.cs
- CqlParser.cs
- DataGridViewTextBoxEditingControl.cs
- MulticastDelegate.cs
- CodeMemberMethod.cs
- ConfigXmlText.cs
- VirtualPathUtility.cs
- DockingAttribute.cs
- COM2PropertyDescriptor.cs
- WeakReadOnlyCollection.cs
- UnsignedPublishLicense.cs
- DrawItemEvent.cs
- GZipStream.cs
- AbstractSvcMapFileLoader.cs
- ProcessManager.cs
- EntityClassGenerator.cs
- ConditionalAttribute.cs
- SafePEFileHandle.cs