Code:
/ 4.0 / 4.0 / untmp / 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.representing the result of the binding.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlCacheDependencyDatabase.cs
- ISFClipboardData.cs
- LocalizationComments.cs
- IssuanceLicense.cs
- M3DUtil.cs
- WindowInteractionStateTracker.cs
- Binding.cs
- DataGridViewAutoSizeModeEventArgs.cs
- CapabilitiesRule.cs
- RenameRuleObjectDialog.Designer.cs
- PreparingEnlistment.cs
- DataSourceCache.cs
- ListView.cs
- NameValueFileSectionHandler.cs
- validationstate.cs
- AnnotationResourceCollection.cs
- RSAPKCS1SignatureFormatter.cs
- SecureConversationServiceCredential.cs
- PropertiesTab.cs
- VBCodeProvider.cs
- SimpleFileLog.cs
- DataKeyCollection.cs
- XmlAnyAttributeAttribute.cs
- KernelTypeValidation.cs
- FixUp.cs
- LocalServiceSecuritySettingsElement.cs
- AuthenticateEventArgs.cs
- StateMachineSubscription.cs
- CommandConverter.cs
- BindingNavigator.cs
- PrintPreviewGraphics.cs
- XmlComment.cs
- WindowsFormsHostPropertyMap.cs
- XmlBinaryWriter.cs
- ComAdminInterfaces.cs
- _ConnectStream.cs
- Latin1Encoding.cs
- DataGridViewCellStyleChangedEventArgs.cs
- HostedImpersonationContext.cs
- EnumerableCollectionView.cs
- RegexStringValidator.cs
- listitem.cs
- basecomparevalidator.cs
- WithStatement.cs
- ComEventsSink.cs
- FileLevelControlBuilderAttribute.cs
- CompiledQueryCacheKey.cs
- HttpStreamFormatter.cs
- ExpressionLexer.cs
- Statements.cs
- ServicesSection.cs
- DiffuseMaterial.cs
- GifBitmapEncoder.cs
- HelpInfo.cs
- ChangePassword.cs
- CheckBox.cs
- RuleRef.cs
- PasswordRecoveryDesigner.cs
- XmlnsPrefixAttribute.cs
- StorageMappingItemCollection.cs
- StylusCollection.cs
- ToolboxItemAttribute.cs
- SafeNativeMethods.cs
- SafeNativeMethods.cs
- EntityDesignerBuildProvider.cs
- ApplicationBuildProvider.cs
- ResourcePermissionBaseEntry.cs
- filewebresponse.cs
- FileNotFoundException.cs
- DataTableMappingCollection.cs
- InvalidProgramException.cs
- LayoutEngine.cs
- SecurityCookieModeValidator.cs
- RepeaterDesigner.cs
- HttpApplication.cs
- MessageVersion.cs
- FamilyTypefaceCollection.cs
- CommandDevice.cs
- NameValueConfigurationCollection.cs
- DispatcherExceptionEventArgs.cs
- LinqDataSource.cs
- ProvidePropertyAttribute.cs
- QueryPageSettingsEventArgs.cs
- storepermissionattribute.cs
- sqlser.cs
- WebServiceFault.cs
- XmlMemberMapping.cs
- DebugView.cs
- documentsequencetextpointer.cs
- SafeBitVector32.cs
- DataGridTextBox.cs
- JoinElimination.cs
- MetaTable.cs
- DbFunctionCommandTree.cs
- EventManager.cs
- FacetValueContainer.cs
- SecurityUtils.cs
- TextAction.cs
- MsmqAppDomainProtocolHandler.cs
- EntityEntry.cs