C# Class System.Dynamic.DynamicObject.MetaDynamic

Inheritance: DynamicMetaObject
Show file Open project: jschementi/iron

Private Properties

Property Type Description
BuildCallArgs System.Linq.Expressions.Expression[]
BuildCallMethodWithResult DynamicMetaObject
CallMethodNoResult DynamicMetaObject
CallMethodReturnLast DynamicMetaObject
CallMethodWithResult DynamicMetaObject
CallMethodWithResult DynamicMetaObject
Constant System.Linq.Expressions.ConstantExpression
GetConvertedArgs System.Linq.Expressions.Expression[]
GetLimitedSelf System.Linq.Expressions.Expression
GetRestrictions BindingRestrictions
IsOverridden bool
MetaDynamic Microsoft.Scripting.Ast
ReferenceArgAssign System.Linq.Expressions.Expression

Public Methods

Method Description
BindBinaryOperation ( BinaryOperationBinder binder, DynamicMetaObject arg ) : DynamicMetaObject
BindConvert ( ConvertBinder binder ) : DynamicMetaObject
BindCreateInstance ( CreateInstanceBinder binder, DynamicMetaObject args ) : DynamicMetaObject
BindDeleteIndex ( DeleteIndexBinder binder, DynamicMetaObject indexes ) : DynamicMetaObject
BindDeleteMember ( DeleteMemberBinder binder ) : DynamicMetaObject
BindGetIndex ( GetIndexBinder binder, DynamicMetaObject indexes ) : DynamicMetaObject
BindGetMember ( GetMemberBinder binder ) : DynamicMetaObject
BindInvoke ( InvokeBinder binder, DynamicMetaObject args ) : DynamicMetaObject
BindInvokeMember ( InvokeMemberBinder binder, DynamicMetaObject args ) : DynamicMetaObject
BindSetIndex ( SetIndexBinder binder, DynamicMetaObject indexes, DynamicMetaObject value ) : DynamicMetaObject
BindSetMember ( SetMemberBinder binder, DynamicMetaObject value ) : DynamicMetaObject
BindUnaryOperation ( UnaryOperationBinder binder ) : DynamicMetaObject
GetDynamicMemberNames ( ) : System.Collections.Generic.IEnumerable

Private Methods

Method Description
BuildCallArgs ( DynamicMetaObjectBinder binder, Expression parameters, Expression arg0, Expression arg1 ) : System.Linq.Expressions.Expression[]

Helper method for generating arguments for calling methods on DynamicObject. parameters is either a list of ParameterExpressions to be passed to the method as an object[], or NoArgs to signify that the target method takes no object[] parameter.

BuildCallMethodWithResult ( string methodName, DynamicMetaObjectBinder binder, Expression args, DynamicMetaObject fallbackResult, Fallback fallbackInvoke ) : DynamicMetaObject

Helper method for generating a MetaObject which calls a specific method on DynamicObject that returns a result. args is either an array of arguments to be passed to the method as an object[] or NoArgs to signify that the target method takes no parameters.

CallMethodNoResult ( string methodName, DynamicMetaObjectBinder binder, Expression args, Fallback fallback ) : DynamicMetaObject

Helper method for generating a MetaObject which calls a specific method on Dynamic, but uses one of the arguments for the result. args is either an array of arguments to be passed to the method as an object[] or NoArgs to signify that the target method takes no parameters.

CallMethodReturnLast ( string methodName, DynamicMetaObjectBinder binder, Expression args, Expression value, Fallback fallback ) : DynamicMetaObject

Helper method for generating a MetaObject which calls a specific method on Dynamic, but uses one of the arguments for the result. args is either an array of arguments to be passed to the method as an object[] or NoArgs to signify that the target method takes no parameters.

CallMethodWithResult ( string methodName, DynamicMetaObjectBinder binder, Expression args, Fallback fallback ) : DynamicMetaObject

Helper method for generating a MetaObject which calls a specific method on Dynamic that returns a result

CallMethodWithResult ( string methodName, DynamicMetaObjectBinder binder, Expression args, Fallback fallback, Fallback fallbackInvoke ) : DynamicMetaObject

Helper method for generating a MetaObject which calls a specific method on Dynamic that returns a result

Constant ( DynamicMetaObjectBinder binder ) : ConstantExpression
GetConvertedArgs ( ) : System.Linq.Expressions.Expression[]
GetLimitedSelf ( ) : Expression

Returns our Expression converted to DynamicObject

GetRestrictions ( ) : BindingRestrictions

Returns a Restrictions object which includes our current restrictions merged with a restriction limiting our type

IsOverridden ( string method ) : bool

Checks if the derived type has overridden the specified method. If there is no implementation for the method provided then Dynamic falls back to the base class behavior which lets the call site determine how the binder is performed.

MetaDynamic ( Expression expression, DynamicObject value ) : Microsoft.Scripting.Ast
ReferenceArgAssign ( Expression callArgs, Expression args ) : Expression

Helper method for generating expressions that assign byRef call parameters back to their original variables

Method Details

BindBinaryOperation() public method

public BindBinaryOperation ( BinaryOperationBinder binder, DynamicMetaObject arg ) : DynamicMetaObject
binder BinaryOperationBinder
arg DynamicMetaObject
return DynamicMetaObject

BindConvert() public method

public BindConvert ( ConvertBinder binder ) : DynamicMetaObject
binder ConvertBinder
return DynamicMetaObject

BindCreateInstance() public method

public BindCreateInstance ( CreateInstanceBinder binder, DynamicMetaObject args ) : DynamicMetaObject
binder CreateInstanceBinder
args DynamicMetaObject
return DynamicMetaObject

BindDeleteIndex() public method

public BindDeleteIndex ( DeleteIndexBinder binder, DynamicMetaObject indexes ) : DynamicMetaObject
binder DeleteIndexBinder
indexes DynamicMetaObject
return DynamicMetaObject

BindDeleteMember() public method

public BindDeleteMember ( DeleteMemberBinder binder ) : DynamicMetaObject
binder DeleteMemberBinder
return DynamicMetaObject

BindGetIndex() public method

public BindGetIndex ( GetIndexBinder binder, DynamicMetaObject indexes ) : DynamicMetaObject
binder GetIndexBinder
indexes DynamicMetaObject
return DynamicMetaObject

BindGetMember() public method

public BindGetMember ( GetMemberBinder binder ) : DynamicMetaObject
binder GetMemberBinder
return DynamicMetaObject

BindInvoke() public method

public BindInvoke ( InvokeBinder binder, DynamicMetaObject args ) : DynamicMetaObject
binder InvokeBinder
args DynamicMetaObject
return DynamicMetaObject

BindInvokeMember() public method

public BindInvokeMember ( InvokeMemberBinder binder, DynamicMetaObject args ) : DynamicMetaObject
binder InvokeMemberBinder
args DynamicMetaObject
return DynamicMetaObject

BindSetIndex() public method

public BindSetIndex ( SetIndexBinder binder, DynamicMetaObject indexes, DynamicMetaObject value ) : DynamicMetaObject
binder SetIndexBinder
indexes DynamicMetaObject
value DynamicMetaObject
return DynamicMetaObject

BindSetMember() public method

public BindSetMember ( SetMemberBinder binder, DynamicMetaObject value ) : DynamicMetaObject
binder SetMemberBinder
value DynamicMetaObject
return DynamicMetaObject

BindUnaryOperation() public method

public BindUnaryOperation ( UnaryOperationBinder binder ) : DynamicMetaObject
binder UnaryOperationBinder
return DynamicMetaObject

GetDynamicMemberNames() public method

public GetDynamicMemberNames ( ) : System.Collections.Generic.IEnumerable
return System.Collections.Generic.IEnumerable