C# Class Archetype.MetaObjects.DelegatingMetaObject

Inheritance: System.Dynamic.DynamicMetaObject
Afficher le fichier Open project: idavis/Archetype

Méthodes publiques

Méthode Description
BindBinaryOperation ( BinaryOperationBinder binder, DynamicMetaObject arg ) : DynamicMetaObject

Performs the binding of the dynamic binary operation.

BindConvert ( ConvertBinder binder ) : DynamicMetaObject

Performs the binding of the dynamic conversion operation.

BindCreateInstance ( CreateInstanceBinder binder, DynamicMetaObject args ) : DynamicMetaObject

Performs the binding of the dynamic create instance operation.

BindDeleteIndex ( DeleteIndexBinder binder, DynamicMetaObject indexes ) : DynamicMetaObject

Performs the binding of the dynamic delete index operation.

BindDeleteMember ( DeleteMemberBinder binder ) : DynamicMetaObject

Performs the binding of the dynamic delete member operation.

BindGetIndex ( GetIndexBinder binder, DynamicMetaObject indexes ) : DynamicMetaObject

Performs the binding of the dynamic get index operation.

BindGetMember ( GetMemberBinder binder ) : DynamicMetaObject

Performs the binding of the dynamic get member operation.

BindInvoke ( InvokeBinder binder, DynamicMetaObject args ) : DynamicMetaObject

Performs the binding of the dynamic invoke operation.

BindInvokeMember ( InvokeMemberBinder binder, DynamicMetaObject args ) : DynamicMetaObject

Performs the binding of the dynamic invoke member operation.

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

Performs the binding of the dynamic set index operation.

BindSetMember ( SetMemberBinder binder, DynamicMetaObject value ) : DynamicMetaObject

Performs the binding of the dynamic set member operation.

BindUnaryOperation ( UnaryOperationBinder binder ) : DynamicMetaObject

Performs the binding of the dynamic unary operation.

Méthodes protégées

Méthode Description
ApplyBinding ( DynamicMetaObject>.Func bindTarget, Func bindFallback ) : DynamicMetaObject

Binds the dynamic operation to the base meta object and attaches the fallback error suggestion if it can be bound.

AreEquivalent ( Type lhs, Type rhs ) : bool
BindingHasFailed ( DynamicMetaObject metaObject ) : bool
CreateBoundDynamicMetaObject ( DynamicMetaObject>.Func bindTarget, object target ) : DynamicMetaObject

Performs the binding of the dynamic operation and relaxes the type restrictions for the target of the delegation.

When bindings are evaluated, they are restricted to the type being operated upon. In order to support delegation to other types, we have to relax the type restrictions on the DynamicMetaObject.

DelegatingMetaObject ( Expression expression, object value, DynamicMetaObject baseMetaObject ) : System

Initializes a new instance of the DelegatingMetaObject class.

GetLimitedSelf ( ) : Expression
GetTypeRestriction ( ) : BindingRestrictions

Gets the type restrictions for the current target DynamicMetaObject.Value and Expression.

RelaxTypeRestrictions ( DynamicMetaObject result, object target ) : DynamicMetaObject

Relaxes the type restrictions for the current T:System.Dynamic.DynamicMetaObject based on the new delegation target.

Resolve ( DynamicMetaObject>.Func bindTarget ) : DynamicMetaObject

Implemented by inheritors, this function should determine the receiver for the binding of the dynamic operation and use the bindTarget to perform the binding and return the result of that binding operation.

The bindTarget can be used multiple times to attempt potential binding operations.

Method Details

ApplyBinding() protected méthode

Binds the dynamic operation to the base meta object and attaches the fallback error suggestion if it can be bound.
protected ApplyBinding ( DynamicMetaObject>.Func bindTarget, Func bindFallback ) : DynamicMetaObject
bindTarget DynamicMetaObject>.Func /// Performs the binding of the dynamic operation if the target dynamic object cannot bind. /// The target of the dynamic operation.
bindFallback Func /// Performs the binding of the dynamic set member operation if the target dynamic object cannot bind. /// The target of the dynamic set member operation.
Résultat System.Dynamic.DynamicMetaObject

AreEquivalent() protected méthode

protected AreEquivalent ( Type lhs, Type rhs ) : bool
lhs System.Type
rhs System.Type
Résultat bool

BindBinaryOperation() public méthode

Performs the binding of the dynamic binary operation.
public BindBinaryOperation ( BinaryOperationBinder binder, DynamicMetaObject arg ) : DynamicMetaObject
binder System.Dynamic.BinaryOperationBinder /// An instance of the that represents the details of the dynamic operation. ///
arg System.Dynamic.DynamicMetaObject /// An instance of the representing the right hand side of the binary operation. ///
Résultat System.Dynamic.DynamicMetaObject

BindConvert() public méthode

Performs the binding of the dynamic conversion operation.
public BindConvert ( ConvertBinder binder ) : DynamicMetaObject
binder System.Dynamic.ConvertBinder /// An instance of the that represents the details of the dynamic operation. ///
Résultat System.Dynamic.DynamicMetaObject

BindCreateInstance() public méthode

Performs the binding of the dynamic create instance operation.
public BindCreateInstance ( CreateInstanceBinder binder, DynamicMetaObject args ) : DynamicMetaObject
binder System.Dynamic.CreateInstanceBinder /// An instance of the that represents the details of the dynamic operation. ///
args System.Dynamic.DynamicMetaObject /// An array of instances - arguments to the create instance operation. ///
Résultat System.Dynamic.DynamicMetaObject

BindDeleteIndex() public méthode

Performs the binding of the dynamic delete index operation.
public BindDeleteIndex ( DeleteIndexBinder binder, DynamicMetaObject indexes ) : DynamicMetaObject
binder System.Dynamic.DeleteIndexBinder /// An instance of the that represents the details of the dynamic operation. ///
indexes System.Dynamic.DynamicMetaObject /// An array of instances - indexes for the delete index operation. ///
Résultat System.Dynamic.DynamicMetaObject

BindDeleteMember() public méthode

Performs the binding of the dynamic delete member operation.
public BindDeleteMember ( DeleteMemberBinder binder ) : DynamicMetaObject
binder System.Dynamic.DeleteMemberBinder /// An instance of the that represents the details of the dynamic operation. ///
Résultat System.Dynamic.DynamicMetaObject

BindGetIndex() public méthode

Performs the binding of the dynamic get index operation.
public BindGetIndex ( GetIndexBinder binder, DynamicMetaObject indexes ) : DynamicMetaObject
binder GetIndexBinder /// An instance of the that represents the details of the dynamic operation. ///
indexes DynamicMetaObject /// An array of instances - indexes for the get index operation. ///
Résultat DynamicMetaObject

BindGetMember() public méthode

Performs the binding of the dynamic get member operation.
public BindGetMember ( GetMemberBinder binder ) : DynamicMetaObject
binder GetMemberBinder /// An instance of the that represents the details of the dynamic operation. ///
Résultat DynamicMetaObject

BindInvoke() public méthode

Performs the binding of the dynamic invoke operation.
public BindInvoke ( InvokeBinder binder, DynamicMetaObject args ) : DynamicMetaObject
binder InvokeBinder /// An instance of the that represents the details of the dynamic operation. ///
args DynamicMetaObject /// An array of instances - arguments to the invoke operation. ///
Résultat DynamicMetaObject

BindInvokeMember() public méthode

Performs the binding of the dynamic invoke member operation.
public BindInvokeMember ( InvokeMemberBinder binder, DynamicMetaObject args ) : DynamicMetaObject
binder InvokeMemberBinder /// An instance of the that represents the details of the dynamic operation. ///
args DynamicMetaObject /// An array of instances - arguments to the invoke member operation. ///
Résultat DynamicMetaObject

BindSetIndex() public méthode

Performs the binding of the dynamic set index operation.
public BindSetIndex ( SetIndexBinder binder, DynamicMetaObject indexes, DynamicMetaObject value ) : DynamicMetaObject
binder SetIndexBinder /// An instance of the that represents the details of the dynamic operation. ///
indexes DynamicMetaObject /// An array of instances - indexes for the set index operation. ///
value DynamicMetaObject /// The representing the value for the set index operation. ///
Résultat DynamicMetaObject

BindSetMember() public méthode

Performs the binding of the dynamic set member operation.
public BindSetMember ( SetMemberBinder binder, DynamicMetaObject value ) : DynamicMetaObject
binder SetMemberBinder /// An instance of the that represents the details of the dynamic operation. ///
value DynamicMetaObject /// The representing the value for the set member operation. ///
Résultat DynamicMetaObject

BindUnaryOperation() public méthode

Performs the binding of the dynamic unary operation.
public BindUnaryOperation ( UnaryOperationBinder binder ) : DynamicMetaObject
binder UnaryOperationBinder /// An instance of the that represents the details of the dynamic operation. ///
Résultat DynamicMetaObject

BindingHasFailed() protected static méthode

protected static BindingHasFailed ( DynamicMetaObject metaObject ) : bool
metaObject DynamicMetaObject
Résultat bool

CreateBoundDynamicMetaObject() protected méthode

Performs the binding of the dynamic operation and relaxes the type restrictions for the target of the delegation.
When bindings are evaluated, they are restricted to the type being operated upon. In order to support delegation to other types, we have to relax the type restrictions on the DynamicMetaObject.
protected CreateBoundDynamicMetaObject ( DynamicMetaObject>.Func bindTarget, object target ) : DynamicMetaObject
bindTarget DynamicMetaObject>.Func /// Performs the binding of the dynamic operation if the target dynamic object cannot bind. /// The target of the dynamic operation.
target object The target of the dynamic operation.
Résultat DynamicMetaObject

DelegatingMetaObject() protected méthode

Initializes a new instance of the DelegatingMetaObject class.
protected DelegatingMetaObject ( Expression expression, object value, DynamicMetaObject baseMetaObject ) : System
expression Expression /// The expression representing this during the dynamic binding process. ///
value object /// The runtime value represented by the . ///
baseMetaObject DynamicMetaObject /// The representing the result of the binding against the primary delegating object. ///
Résultat System

GetLimitedSelf() protected méthode

protected GetLimitedSelf ( ) : Expression
Résultat Expression

GetTypeRestriction() protected méthode

Gets the type restrictions for the current target DynamicMetaObject.Value and Expression.
protected GetTypeRestriction ( ) : BindingRestrictions
Résultat BindingRestrictions

RelaxTypeRestrictions() protected méthode

Relaxes the type restrictions for the current T:System.Dynamic.DynamicMetaObject based on the new delegation target.
protected RelaxTypeRestrictions ( DynamicMetaObject result, object target ) : DynamicMetaObject
result DynamicMetaObject The result.
target object The target of the dynamic operation.
Résultat DynamicMetaObject

Resolve() protected abstract méthode

Implemented by inheritors, this function should determine the receiver for the binding of the dynamic operation and use the bindTarget to perform the binding and return the result of that binding operation.
The bindTarget can be used multiple times to attempt potential binding operations.
protected abstract Resolve ( DynamicMetaObject>.Func bindTarget ) : DynamicMetaObject
bindTarget DynamicMetaObject>.Func /// Performs the binding of the dynamic operation if the target dynamic object cannot bind. /// The target of the dynamic operation.
Résultat DynamicMetaObject