C# Класс Archetype.MetaObjects.DelegatingMetaObject

Наследование: System.Dynamic.DynamicMetaObject
Показать файл Открыть проект

Открытые методы

Метод Описание
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.

Защищенные методы

Метод Описание
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.

Описание методов

ApplyBinding() защищенный Метод

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.
Результат System.Dynamic.DynamicMetaObject

AreEquivalent() защищенный Метод

protected AreEquivalent ( Type lhs, Type rhs ) : bool
lhs System.Type
rhs System.Type
Результат bool

BindBinaryOperation() публичный Метод

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. ///
Результат System.Dynamic.DynamicMetaObject

BindConvert() публичный Метод

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. ///
Результат System.Dynamic.DynamicMetaObject

BindCreateInstance() публичный Метод

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. ///
Результат System.Dynamic.DynamicMetaObject

BindDeleteIndex() публичный Метод

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. ///
Результат System.Dynamic.DynamicMetaObject

BindDeleteMember() публичный Метод

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. ///
Результат System.Dynamic.DynamicMetaObject

BindGetIndex() публичный Метод

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. ///
Результат DynamicMetaObject

BindGetMember() публичный Метод

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. ///
Результат DynamicMetaObject

BindInvoke() публичный Метод

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. ///
Результат DynamicMetaObject

BindInvokeMember() публичный Метод

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. ///
Результат DynamicMetaObject

BindSetIndex() публичный Метод

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. ///
Результат DynamicMetaObject

BindSetMember() публичный Метод

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. ///
Результат DynamicMetaObject

BindUnaryOperation() публичный Метод

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. ///
Результат DynamicMetaObject

BindingHasFailed() защищенный статический Метод

protected static BindingHasFailed ( DynamicMetaObject metaObject ) : bool
metaObject DynamicMetaObject
Результат bool

CreateBoundDynamicMetaObject() защищенный Метод

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.
Результат DynamicMetaObject

DelegatingMetaObject() защищенный Метод

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. ///
Результат System

GetLimitedSelf() защищенный Метод

protected GetLimitedSelf ( ) : Expression
Результат Expression

GetTypeRestriction() защищенный Метод

Gets the type restrictions for the current target DynamicMetaObject.Value and Expression.
protected GetTypeRestriction ( ) : BindingRestrictions
Результат BindingRestrictions

RelaxTypeRestrictions() защищенный Метод

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.
Результат DynamicMetaObject

Resolve() защищенный абстрактный Метод

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.
Результат DynamicMetaObject