C# Class System.Dynamic.DynamicMetaObjectBinder

The dynamic call site binder that participates in the DynamicMetaObject binding protocol.
The CallSiteBinder performs the binding of the dynamic operation using the runtime values as input. On the other hand, the DynamicMetaObjectBinder participates in the DynamicMetaObject binding protocol.
Inheritance: System.Runtime.CompilerServices.CallSiteBinder
Show file Open project: dotnet/corefx Class Usage Examples

Private Properties

Property Type Description
CreateArgumentMetaObjects System.Dynamic.DynamicMetaObject[]
GetUpdateExpression System.Linq.Expressions.Expression
MakeDeferred DynamicMetaObject

Public Methods

Method Description
Bind ( DynamicMetaObject target, DynamicMetaObject args ) : DynamicMetaObject

When overridden in the derived class, performs the binding of the dynamic operation.

Bind ( object args, ReadOnlyCollection parameters, LabelTarget returnLabel ) : Expression

Performs the runtime binding of the dynamic operation on a set of arguments.

Defer ( ) : DynamicMetaObject

Defers the binding of the operation until later time when the runtime values of all dynamic operation arguments have been computed.

Defer ( DynamicMetaObject target ) : DynamicMetaObject

Defers the binding of the operation until later time when the runtime values of all dynamic operation arguments have been computed.

Protected Methods

Method Description
DynamicMetaObjectBinder ( ) : System.Collections.ObjectModel

Initializes a new instance of the DynamicMetaObjectBinder class.

Private Methods

Method Description
CreateArgumentMetaObjects ( object args, ReadOnlyCollection parameters ) : System.Dynamic.DynamicMetaObject[]
GetUpdateExpression ( Type type ) : Expression
MakeDeferred ( BindingRestrictions rs ) : DynamicMetaObject

Method Details

Bind() public abstract method

When overridden in the derived class, performs the binding of the dynamic operation.
public abstract Bind ( DynamicMetaObject target, DynamicMetaObject args ) : DynamicMetaObject
target DynamicMetaObject The target of the dynamic operation.
args DynamicMetaObject An array of arguments of the dynamic operation.
return DynamicMetaObject

Bind() public final method

Performs the runtime binding of the dynamic operation on a set of arguments.
public final Bind ( object args, ReadOnlyCollection parameters, LabelTarget returnLabel ) : Expression
args object An array of arguments to the dynamic operation.
parameters ReadOnlyCollection The array of instances that represent the parameters of the call site in the binding process.
returnLabel System.Linq.Expressions.LabelTarget A LabelTarget used to return the result of the dynamic binding.
return System.Linq.Expressions.Expression

Defer() public method

Defers the binding of the operation until later time when the runtime values of all dynamic operation arguments have been computed.
public Defer ( ) : DynamicMetaObject
return DynamicMetaObject

Defer() public method

Defers the binding of the operation until later time when the runtime values of all dynamic operation arguments have been computed.
public Defer ( DynamicMetaObject target ) : DynamicMetaObject
target DynamicMetaObject The target of the dynamic operation.
return DynamicMetaObject

DynamicMetaObjectBinder() protected method

Initializes a new instance of the DynamicMetaObjectBinder class.
protected DynamicMetaObjectBinder ( ) : System.Collections.ObjectModel
return System.Collections.ObjectModel