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
- XsltInput.cs
- SmiGettersStream.cs
- WindowsTab.cs
- GenericPrincipal.cs
- CompilerLocalReference.cs
- Rotation3D.cs
- DefaultMemberAttribute.cs
- SetIterators.cs
- ApplicationDirectory.cs
- SqlDataReader.cs
- DockPanel.cs
- LineProperties.cs
- DesignUtil.cs
- ConfigXmlAttribute.cs
- DataGridPageChangedEventArgs.cs
- Vector3DCollection.cs
- CorrelationRequestContext.cs
- SqlFactory.cs
- TemporaryBitmapFile.cs
- DtrList.cs
- Scanner.cs
- ListMarkerSourceInfo.cs
- WebPartHeaderCloseVerb.cs
- State.cs
- MDIClient.cs
- SequenceDesigner.cs
- BindableTemplateBuilder.cs
- PageCatalogPart.cs
- ThreadStateException.cs
- Mappings.cs
- ThreadExceptionDialog.cs
- TypeSemantics.cs
- PeerDuplexChannelListener.cs
- EntryWrittenEventArgs.cs
- SyntaxCheck.cs
- WrappedIUnknown.cs
- DrawingVisualDrawingContext.cs
- Compiler.cs
- DefaultTextStore.cs
- HierarchicalDataTemplate.cs
- HierarchicalDataSourceDesigner.cs
- QueryContinueDragEvent.cs
- DbConnectionFactory.cs
- WindowAutomationPeer.cs
- WebPartConnectionCollection.cs
- ExpandCollapsePattern.cs
- TransactedBatchingElement.cs
- MulticastOption.cs
- FunctionQuery.cs
- ComponentTray.cs
- LineSegment.cs
- IssuedTokenServiceCredential.cs
- BufferedOutputStream.cs
- SafeRightsManagementSessionHandle.cs
- EntityDataSourceContainerNameConverter.cs
- XmlSchemaAttributeGroupRef.cs
- SQLDoubleStorage.cs
- TextTrailingCharacterEllipsis.cs
- Bezier.cs
- AccessViolationException.cs
- BinaryCommonClasses.cs
- DefinitionBase.cs
- XslVisitor.cs
- IPAddressCollection.cs
- FontStretches.cs
- HitTestParameters3D.cs
- BooleanAnimationUsingKeyFrames.cs
- ConfigUtil.cs
- PathParser.cs
- WorkflowIdleBehavior.cs
- InfoCardListRequest.cs
- VectorAnimation.cs
- TextProviderWrapper.cs
- AuthenticationSection.cs
- SystemFonts.cs
- Slider.cs
- DataTableTypeConverter.cs
- ProfileBuildProvider.cs
- TrackBarRenderer.cs
- ClientFormsIdentity.cs
- Endpoint.cs
- SafeNativeMethods.cs
- WmlTextViewAdapter.cs
- ProxySimple.cs
- WebPartCloseVerb.cs
- BatchServiceHost.cs
- ValidationSummary.cs
- FrameworkElementFactory.cs
- JpegBitmapDecoder.cs
- EventSinkHelperWriter.cs
- TemplatePagerField.cs
- Model3D.cs
- ImageConverter.cs
- EventProviderBase.cs
- StringConverter.cs
- SizeChangedEventArgs.cs
- PrinterSettings.cs
- MenuEventArgs.cs
- FileVersionInfo.cs
- DBSqlParserTable.cs