Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / ALinq / SkipQueryOptionExpression.cs / 1 / SkipQueryOptionExpression.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Respresents a skip query option in resource bound expression tree.
//
//
// @owner [....]
//---------------------------------------------------------------------
namespace System.Data.Services.Client
{
using System;
using System.Diagnostics;
using System.Linq.Expressions;
///
/// An resource specific expression representing a skip query option.
///
[DebuggerDisplay("SkipQueryOptionExpression {SkipAmount}")]
internal class SkipQueryOptionExpression : QueryOptionExpression
{
/// amount to skip
private ConstantExpression skipAmount;
///
/// Creates a SkipQueryOption expression
///
/// the return type of the expression
/// the query option value
internal SkipQueryOptionExpression(Type type, ConstantExpression skipAmount)
: base((ExpressionType)ResourceExpressionType.SkipQueryOption, type)
{
this.skipAmount = skipAmount;
}
///
/// query option value
///
internal ConstantExpression SkipAmount
{
get
{
return this.skipAmount;
}
}
///
/// Composes the expression with this one when it's specified multiple times.
///
/// to compose.
///
/// The expression that results from composing the expression with this one.
///
internal override QueryOptionExpression ComposeMultipleSpecification(QueryOptionExpression previous)
{
Debug.Assert(previous != null, "other != null");
Debug.Assert(previous.GetType() == this.GetType(), "other.GetType == this.GetType() -- otherwise it's not the same specification");
Debug.Assert(this.skipAmount != null, "this.skipAmount != null");
Debug.Assert(
this.skipAmount.Type == typeof(int),
"this.skipAmount.Type == typeof(int) -- otherwise it wouldn't have matched the Enumerable.Skip(source, int count) signature");
int thisValue = (int)this.skipAmount.Value;
int previousValue = (int)((SkipQueryOptionExpression)previous).skipAmount.Value;
return new SkipQueryOptionExpression(this.Type, Expression.Constant(thisValue + previousValue, typeof(int)));
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Respresents a skip query option in resource bound expression tree.
//
//
// @owner [....]
//---------------------------------------------------------------------
namespace System.Data.Services.Client
{
using System;
using System.Diagnostics;
using System.Linq.Expressions;
///
/// An resource specific expression representing a skip query option.
///
[DebuggerDisplay("SkipQueryOptionExpression {SkipAmount}")]
internal class SkipQueryOptionExpression : QueryOptionExpression
{
/// amount to skip
private ConstantExpression skipAmount;
///
/// Creates a SkipQueryOption expression
///
/// the return type of the expression
/// the query option value
internal SkipQueryOptionExpression(Type type, ConstantExpression skipAmount)
: base((ExpressionType)ResourceExpressionType.SkipQueryOption, type)
{
this.skipAmount = skipAmount;
}
///
/// query option value
///
internal ConstantExpression SkipAmount
{
get
{
return this.skipAmount;
}
}
///
/// Composes the expression with this one when it's specified multiple times.
///
/// to compose.
///
/// The expression that results from composing the expression with this one.
///
internal override QueryOptionExpression ComposeMultipleSpecification(QueryOptionExpression previous)
{
Debug.Assert(previous != null, "other != null");
Debug.Assert(previous.GetType() == this.GetType(), "other.GetType == this.GetType() -- otherwise it's not the same specification");
Debug.Assert(this.skipAmount != null, "this.skipAmount != null");
Debug.Assert(
this.skipAmount.Type == typeof(int),
"this.skipAmount.Type == typeof(int) -- otherwise it wouldn't have matched the Enumerable.Skip(source, int count) signature");
int thisValue = (int)this.skipAmount.Value;
int previousValue = (int)((SkipQueryOptionExpression)previous).skipAmount.Value;
return new SkipQueryOptionExpression(this.Type, Expression.Constant(thisValue + previousValue, typeof(int)));
}
}
}
// 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
- SecurityElement.cs
- TraceLevelStore.cs
- DataGridViewColumnTypeEditor.cs
- BufferModesCollection.cs
- COAUTHINFO.cs
- xmlglyphRunInfo.cs
- DefaultClaimSet.cs
- IndexedGlyphRun.cs
- WebPartDescriptionCollection.cs
- NavigateEvent.cs
- SoapAttributeOverrides.cs
- SetStateEventArgs.cs
- ServiceTimeoutsBehavior.cs
- cookiecollection.cs
- StorageMappingFragment.cs
- OptimisticConcurrencyException.cs
- UInt32Storage.cs
- TemplateBamlRecordReader.cs
- FormViewUpdateEventArgs.cs
- AssemblyBuilder.cs
- CqlParser.cs
- XamlTreeBuilder.cs
- InstanceCollisionException.cs
- RoleManagerSection.cs
- SchemaImporterExtension.cs
- DrawingState.cs
- InvalidProgramException.cs
- ListViewDataItem.cs
- XamlSerializationHelper.cs
- Sql8ConformanceChecker.cs
- SQLInt16Storage.cs
- DomainConstraint.cs
- HyperLinkColumn.cs
- DataGridViewCellFormattingEventArgs.cs
- CompareValidator.cs
- WebPartConnectionsCloseVerb.cs
- RenameRuleObjectDialog.Designer.cs
- AlgoModule.cs
- AngleUtil.cs
- CompiledELinqQueryState.cs
- ToolStripPanelRow.cs
- CodeFieldReferenceExpression.cs
- DoubleStorage.cs
- DefaultBinder.cs
- VisualTarget.cs
- DocumentSchemaValidator.cs
- MouseGestureValueSerializer.cs
- SmtpLoginAuthenticationModule.cs
- ProxyWebPart.cs
- UriExt.cs
- ManifestResourceInfo.cs
- XPathNavigator.cs
- DataColumnPropertyDescriptor.cs
- HandlerFactoryCache.cs
- ParallelEnumerableWrapper.cs
- CodeIterationStatement.cs
- DataGridViewRowsAddedEventArgs.cs
- XmlSerializationReader.cs
- unsafenativemethodsother.cs
- IdnElement.cs
- PropertyGridEditorPart.cs
- AsyncCompletedEventArgs.cs
- Internal.cs
- SafeLibraryHandle.cs
- WebHostedComPlusServiceHost.cs
- CachedPathData.cs
- OleDbDataAdapter.cs
- RuntimeUtils.cs
- MimeParameters.cs
- CachedFontFace.cs
- ConnectionPointGlyph.cs
- WindowsEditBox.cs
- BuildProvidersCompiler.cs
- FloaterBaseParagraph.cs
- PriorityBinding.cs
- RadioButtonList.cs
- ActivityBuilderHelper.cs
- QueryResult.cs
- DiscreteKeyFrames.cs
- UriTemplateMatch.cs
- BlockUIContainer.cs
- DependencyPropertyAttribute.cs
- MessagePropertyDescriptionCollection.cs
- WindowsEditBoxRange.cs
- ImportDesigner.xaml.cs
- BufferedGraphicsManager.cs
- NotImplementedException.cs
- NetSectionGroup.cs
- PeerApplication.cs
- SchemaHelper.cs
- CfgArc.cs
- XPathAncestorIterator.cs
- DataSetMappper.cs
- Not.cs
- NameValueSectionHandler.cs
- NumberFormatter.cs
- ObfuscateAssemblyAttribute.cs
- XmlRootAttribute.cs
- ImpersonateTokenRef.cs
- QueryOptionExpression.cs