Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Actions / GetIndexBinder.cs / 1305376 / GetIndexBinder.cs
/* **************************************************************************** * * Copyright (c) Microsoft Corporation. * * This source code is subject to terms and conditions of the Microsoft Public License. A * copy of the license can be found in the License.html file at the root of this distribution. If * you cannot locate the Microsoft Public License, please send an email to * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound * by the terms of the Microsoft Public License. * * You must not remove this notice, or any other, from this software. * * * ***************************************************************************/ using System.Dynamic.Utils; namespace System.Dynamic { ////// Represents the dynamic get index operation at the call site, providing the binding semantic and the details about the operation. /// public abstract class GetIndexBinder : DynamicMetaObjectBinder { private readonly CallInfo _callInfo; ////// Initializes a new instance of the /// The signature of the arguments at the call site. protected GetIndexBinder(CallInfo callInfo) { ContractUtils.RequiresNotNull(callInfo, "callInfo"); _callInfo = callInfo; } ///. /// /// The result type of the operation. /// public override sealed Type ReturnType { get { return typeof(object); } } ////// Gets the signature of the arguments at the call site. /// public CallInfo CallInfo { get { return _callInfo; } } ////// Performs the binding of the dynamic get index operation. /// /// The target of the dynamic get index operation. /// An array of arguments of the dynamic get index operation. ///The public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) { ContractUtils.RequiresNotNull(target, "target"); ContractUtils.RequiresNotNullItems(args, "args"); return target.BindGetIndex(this, args); } // this is a standard DynamicMetaObjectBinder internal override sealed bool IsStandardBinder { get { return true; } } ///representing the result of the binding. /// Performs the binding of the dynamic get index operation if the target dynamic object cannot bind. /// /// The target of the dynamic get index operation. /// The arguments of the dynamic get index operation. ///The public DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes) { return FallbackGetIndex(target, indexes, null); } ///representing the result of the binding. /// When overridden in the derived class, performs the binding of the dynamic get index operation if the target dynamic object cannot bind. /// /// The target of the dynamic get index operation. /// The arguments of the dynamic get index operation. /// The binding result to use if binding fails, or null. ///The public abstract DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject errorSuggestion); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. /* **************************************************************************** * * Copyright (c) Microsoft Corporation. * * This source code is subject to terms and conditions of the Microsoft Public License. A * copy of the license can be found in the License.html file at the root of this distribution. If * you cannot locate the Microsoft Public License, please send an email to * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound * by the terms of the Microsoft Public License. * * You must not remove this notice, or any other, from this software. * * * ***************************************************************************/ using System.Dynamic.Utils; namespace System.Dynamic { ///representing the result of the binding. /// Represents the dynamic get index operation at the call site, providing the binding semantic and the details about the operation. /// public abstract class GetIndexBinder : DynamicMetaObjectBinder { private readonly CallInfo _callInfo; ////// Initializes a new instance of the /// The signature of the arguments at the call site. protected GetIndexBinder(CallInfo callInfo) { ContractUtils.RequiresNotNull(callInfo, "callInfo"); _callInfo = callInfo; } ///. /// /// The result type of the operation. /// public override sealed Type ReturnType { get { return typeof(object); } } ////// Gets the signature of the arguments at the call site. /// public CallInfo CallInfo { get { return _callInfo; } } ////// Performs the binding of the dynamic get index operation. /// /// The target of the dynamic get index operation. /// An array of arguments of the dynamic get index operation. ///The public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) { ContractUtils.RequiresNotNull(target, "target"); ContractUtils.RequiresNotNullItems(args, "args"); return target.BindGetIndex(this, args); } // this is a standard DynamicMetaObjectBinder internal override sealed bool IsStandardBinder { get { return true; } } ///representing the result of the binding. /// Performs the binding of the dynamic get index operation if the target dynamic object cannot bind. /// /// The target of the dynamic get index operation. /// The arguments of the dynamic get index operation. ///The public DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes) { return FallbackGetIndex(target, indexes, null); } ///representing the result of the binding. /// When overridden in the derived class, performs the binding of the dynamic get index operation if the target dynamic object cannot bind. /// /// The target of the dynamic get index operation. /// The arguments of the dynamic get index operation. /// The binding result to use if binding fails, or null. ///The public abstract DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject errorSuggestion); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.representing the result of the binding.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DBSqlParserTableCollection.cs
- BaseEntityWrapper.cs
- RootBuilder.cs
- FrameworkTextComposition.cs
- IntSumAggregationOperator.cs
- XmlFormatExtensionAttribute.cs
- HashHelper.cs
- JoinGraph.cs
- URLString.cs
- Switch.cs
- MessageQueue.cs
- ScopelessEnumAttribute.cs
- DataViewManagerListItemTypeDescriptor.cs
- InputLangChangeEvent.cs
- LongValidator.cs
- RegisteredScript.cs
- SerializationUtility.cs
- ToolStripSeparatorRenderEventArgs.cs
- SqlDataSourceConfigureSortForm.cs
- ThicknessConverter.cs
- QuaternionAnimationUsingKeyFrames.cs
- GenericTypeParameterBuilder.cs
- Expression.cs
- ConstantCheck.cs
- safePerfProviderHandle.cs
- SqlInternalConnectionTds.cs
- WindowsScrollBar.cs
- SqlDelegatedTransaction.cs
- ConstantExpression.cs
- LogWriteRestartAreaState.cs
- entityreference_tresulttype.cs
- relpropertyhelper.cs
- Button.cs
- CompoundFileIOPermission.cs
- ExtensionElementCollection.cs
- DataGridViewComboBoxColumnDesigner.cs
- PersonalizableAttribute.cs
- ADMembershipProvider.cs
- TextFormatterHost.cs
- EntityDataSourceContainerNameConverter.cs
- SqlException.cs
- DocumentApplication.cs
- FacetEnabledSchemaElement.cs
- Exceptions.cs
- MembershipPasswordException.cs
- TrustManagerMoreInformation.cs
- TdsParserStaticMethods.cs
- EntryWrittenEventArgs.cs
- EntitySqlQueryCacheKey.cs
- InputDevice.cs
- DictionaryBase.cs
- PlanCompilerUtil.cs
- InternalControlCollection.cs
- NetStream.cs
- LowerCaseStringConverter.cs
- RadioButtonStandardAdapter.cs
- LoginCancelEventArgs.cs
- RouteItem.cs
- ContainerCodeDomSerializer.cs
- TableCell.cs
- Repeater.cs
- FormsAuthenticationUserCollection.cs
- ParserContext.cs
- FunctionQuery.cs
- tooltip.cs
- HitTestFilterBehavior.cs
- FixedHighlight.cs
- XmlDataSourceView.cs
- LocationSectionRecord.cs
- DeviceSpecificDialogCachedState.cs
- TypeExtension.cs
- PropertyCondition.cs
- RegisteredHiddenField.cs
- FontClient.cs
- HttpHandlerActionCollection.cs
- ProcessInfo.cs
- XmlILStorageConverter.cs
- PagedDataSource.cs
- DiscoveryInnerClientAdhocCD1.cs
- SafeNativeMethodsMilCoreApi.cs
- CollaborationHelperFunctions.cs
- XamlReader.cs
- ContentAlignmentEditor.cs
- MediaPlayerState.cs
- IndividualDeviceConfig.cs
- SqlAggregateChecker.cs
- HTMLTagNameToTypeMapper.cs
- GPRECTF.cs
- ToolStripItemEventArgs.cs
- SecurityContext.cs
- LicenseProviderAttribute.cs
- SoapDocumentServiceAttribute.cs
- LinkedDataMemberFieldEditor.cs
- Environment.cs
- Bind.cs
- XsdBuilder.cs
- MultitargetUtil.cs
- FormViewPagerRow.cs
- SmtpNtlmAuthenticationModule.cs
- WebHttpSecurityModeHelper.cs