Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Scripting / Actions / CreateInstanceBinder.cs / 1305376 / CreateInstanceBinder.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 create dynamic operation at the call site, providing the binding semantic and the details about the operation. /// public abstract class CreateInstanceBinder : DynamicMetaObjectBinder { private readonly CallInfo _callInfo; ////// Initializes a new intsance of the /// The signature of the arguments at the call site. protected CreateInstanceBinder(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 create operation if the target dynamic object cannot bind. /// /// The target of the dynamic create operation. /// The arguments of the dynamic create operation. ///The public DynamicMetaObject FallbackCreateInstance(DynamicMetaObject target, DynamicMetaObject[] args) { return FallbackCreateInstance(target, args, null); } ///representing the result of the binding. /// When overridden in the derived class, performs the binding of the dynamic create operation if the target dynamic object cannot bind. /// /// The target of the dynamic create operation. /// The arguments of the dynamic create operation. /// The binding result to use if binding fails, or null. ///The public abstract DynamicMetaObject FallbackCreateInstance(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject errorSuggestion); ///representing the result of the binding. /// Performs the binding of the dynamic create operation. /// /// The target of the dynamic create operation. /// An array of arguments of the dynamic create operation. ///The public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) { ContractUtils.RequiresNotNull(target, "target"); ContractUtils.RequiresNotNullItems(args, "args"); return target.BindCreateInstance(this, args); } // this is a standard DynamicMetaObjectBinder internal override sealed bool IsStandardBinder { get { return true; } } } } // 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 create dynamic operation at the call site, providing the binding semantic and the details about the operation. /// public abstract class CreateInstanceBinder : DynamicMetaObjectBinder { private readonly CallInfo _callInfo; ////// Initializes a new intsance of the /// The signature of the arguments at the call site. protected CreateInstanceBinder(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 create operation if the target dynamic object cannot bind. /// /// The target of the dynamic create operation. /// The arguments of the dynamic create operation. ///The public DynamicMetaObject FallbackCreateInstance(DynamicMetaObject target, DynamicMetaObject[] args) { return FallbackCreateInstance(target, args, null); } ///representing the result of the binding. /// When overridden in the derived class, performs the binding of the dynamic create operation if the target dynamic object cannot bind. /// /// The target of the dynamic create operation. /// The arguments of the dynamic create operation. /// The binding result to use if binding fails, or null. ///The public abstract DynamicMetaObject FallbackCreateInstance(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject errorSuggestion); ///representing the result of the binding. /// Performs the binding of the dynamic create operation. /// /// The target of the dynamic create operation. /// An array of arguments of the dynamic create operation. ///The public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) { ContractUtils.RequiresNotNull(target, "target"); ContractUtils.RequiresNotNullItems(args, "args"); return target.BindCreateInstance(this, args); } // this is a standard DynamicMetaObjectBinder internal override sealed bool IsStandardBinder { get { return true; } } } } // 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
- StrokeNodeOperations2.cs
- WindowProviderWrapper.cs
- WSSecurityPolicy11.cs
- SecurityMessageProperty.cs
- CustomAttributeFormatException.cs
- DataExpression.cs
- StreamInfo.cs
- GradientStop.cs
- EncryptedKey.cs
- datacache.cs
- AVElementHelper.cs
- Operand.cs
- TextParaClient.cs
- DataErrorValidationRule.cs
- MenuItemBinding.cs
- SiteMapDataSource.cs
- AxWrapperGen.cs
- CommandEventArgs.cs
- TextBounds.cs
- SqlProfileProvider.cs
- ReflectionPermission.cs
- XmlValueConverter.cs
- ValueConversionAttribute.cs
- CommandValueSerializer.cs
- ReferenceEqualityComparer.cs
- RegexInterpreter.cs
- DbDataReader.cs
- TemplatedWizardStep.cs
- StringValueSerializer.cs
- VisualSerializer.cs
- HttpCapabilitiesSectionHandler.cs
- Math.cs
- _ProxyRegBlob.cs
- DesignerActionListCollection.cs
- OracleRowUpdatingEventArgs.cs
- LifetimeServices.cs
- FontWeightConverter.cs
- NodeInfo.cs
- TCPListener.cs
- ParallelDesigner.cs
- ParameterCollection.cs
- DiscreteKeyFrames.cs
- DictionaryBase.cs
- log.cs
- TargetInvocationException.cs
- IndexedGlyphRun.cs
- DataGridPagerStyle.cs
- Application.cs
- ProcessInfo.cs
- input.cs
- BitmapFrameEncode.cs
- IgnoreFlushAndCloseStream.cs
- MethodToken.cs
- BindingManagerDataErrorEventArgs.cs
- SQLDouble.cs
- RowParagraph.cs
- WebBrowserNavigatingEventHandler.cs
- GetPageCompletedEventArgs.cs
- Image.cs
- ConstrainedDataObject.cs
- PrePrepareMethodAttribute.cs
- ToolZone.cs
- SmiContext.cs
- IdentityReference.cs
- ExpandableObjectConverter.cs
- DataGridTextBoxColumn.cs
- RangeBaseAutomationPeer.cs
- ExtractedStateEntry.cs
- DbReferenceCollection.cs
- Method.cs
- SoapMessage.cs
- SiteMapNodeCollection.cs
- ObjectAssociationEndMapping.cs
- Ref.cs
- CustomValidator.cs
- ReachDocumentSequenceSerializer.cs
- MsmqChannelFactoryBase.cs
- CoreSwitches.cs
- COAUTHIDENTITY.cs
- ManipulationCompletedEventArgs.cs
- ListSortDescriptionCollection.cs
- EventLogEntryCollection.cs
- SelfIssuedAuthRSAPKCS1SignatureFormatter.cs
- _OSSOCK.cs
- MultiAsyncResult.cs
- UnmanagedMemoryStreamWrapper.cs
- Serializer.cs
- PageContentAsyncResult.cs
- WithStatement.cs
- SelectionList.cs
- NetworkInformationException.cs
- UInt64.cs
- DetailsViewPageEventArgs.cs
- PackageProperties.cs
- DrawingCollection.cs
- ColorAnimationBase.cs
- AsymmetricKeyExchangeFormatter.cs
- UndirectedGraph.cs
- XmlValueConverter.cs
- XmlEnumAttribute.cs