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
- ToolStripDesignerAvailabilityAttribute.cs
- ObjectStateFormatter.cs
- MetadataItemEmitter.cs
- XamlReaderHelper.cs
- OleDbPropertySetGuid.cs
- ControlParameter.cs
- TraceFilter.cs
- CodeAttributeDeclaration.cs
- ApplicationFileCodeDomTreeGenerator.cs
- OutputCacheSection.cs
- LeftCellWrapper.cs
- TypedRowHandler.cs
- LoadWorkflowCommand.cs
- HtmlButton.cs
- ReturnEventArgs.cs
- PersonalizationStateQuery.cs
- VirtualDirectoryMappingCollection.cs
- DataDesignUtil.cs
- TraceHandlerErrorFormatter.cs
- UserNameSecurityToken.cs
- SyndicationLink.cs
- InstanceCompleteException.cs
- ControlBuilderAttribute.cs
- TraceContextEventArgs.cs
- BitmapCacheBrush.cs
- DrawToolTipEventArgs.cs
- PropertyToken.cs
- SiteMapNode.cs
- FileUtil.cs
- TransformedBitmap.cs
- PlacementWorkspace.cs
- Shape.cs
- CommonDialog.cs
- SerializationFieldInfo.cs
- BackgroundFormatInfo.cs
- ValidatorUtils.cs
- TemplateColumn.cs
- XmlSchemaGroupRef.cs
- X509CertificateCollection.cs
- GC.cs
- SqlClientPermission.cs
- FastEncoder.cs
- MembershipSection.cs
- TextTrailingWordEllipsis.cs
- ExtensionQuery.cs
- KeyEventArgs.cs
- RenderDataDrawingContext.cs
- SvcMapFileLoader.cs
- ReadOnlyDataSourceView.cs
- DesignerVerbCollection.cs
- SmtpClient.cs
- UriWriter.cs
- DebugTraceHelper.cs
- ObjectContextServiceProvider.cs
- HandlerMappingMemo.cs
- OLEDB_Util.cs
- ImageDrawing.cs
- MarkupExtensionParser.cs
- WebPageTraceListener.cs
- HandlerMappingMemo.cs
- Cursors.cs
- controlskin.cs
- DetailsViewPageEventArgs.cs
- Container.cs
- SqlCachedBuffer.cs
- XmlnsPrefixAttribute.cs
- ConnectionManagementSection.cs
- MetadataSerializer.cs
- StorageEntityTypeMapping.cs
- RelatedCurrencyManager.cs
- SocketAddress.cs
- PositiveTimeSpanValidator.cs
- UserThread.cs
- JournalEntry.cs
- CngProperty.cs
- DataServiceKeyAttribute.cs
- DiscoveryReferences.cs
- _SingleItemRequestCache.cs
- RegisteredDisposeScript.cs
- XmlUtil.cs
- ReadOnlyPermissionSet.cs
- DocumentReference.cs
- ConfigViewGenerator.cs
- BindingSource.cs
- FlowNode.cs
- EditingMode.cs
- DispatcherObject.cs
- DocumentPageHost.cs
- MethodToken.cs
- TextParaClient.cs
- ParallelDesigner.cs
- CodeGotoStatement.cs
- MD5.cs
- ProgressBarRenderer.cs
- EntityProviderServices.cs
- FlowchartDesigner.xaml.cs
- HotCommands.cs
- IERequestCache.cs
- TableRowCollection.cs
- SaveFileDialogDesigner.cs