C# 클래스 Archetype.MetaObjects.DelegatingMetaObject

상속: System.Dynamic.DynamicMetaObject
파일 보기 프로젝트 열기: idavis/Archetype

공개 메소드들

메소드 설명
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