C# 클래스 IronPython.Runtime.Binding.SlotOrFunction

Provides an abstraction for calling something which might be a builtin function or might be some arbitrary user defined slot. If the object is a builtin function the call will go directly to the underlying .NET method. If the object is an arbitrary callable object we will setup a nested dynamic site for performing the additional dispatch. TODO: We could probably do a specific binding to the object if it's another IDyanmicObject.
파일 보기 프로젝트 열기: jschementi/iron 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
Empty SlotOrFunction

공개 메소드들

메소드 설명
GetCombinedTargets ( SlotOrFunction fCand, SlotOrFunction rCand, SlotOrFunction &fTarget, SlotOrFunction &rTarget ) : bool

Combines two methods, which came from two different binary types, selecting the method which has the best set of conversions (the conversions which result in the least narrowing).

GetSlotOrFunction ( PythonContext state, string op ) : SlotOrFunction
ShouldWarn ( PythonContext context, WarningInfo &info ) : bool
SlotOrFunction ( BindingTarget function, DynamicMetaObject target ) : System.Linq.Expressions
SlotOrFunction ( DynamicMetaObject target ) : System.Linq.Expressions
SlotOrFunction ( DynamicMetaObject target, PythonTypeSlot slot ) : System.Linq.Expressions

비공개 메소드들

메소드 설명
CheckAlwaysNotImplemented ( IronPython.Runtime.Types.BuiltinFunction xBf ) : IronPython.Runtime.Types.BuiltinFunction
ContainsMethodSignature ( IList existing, MethodBase check ) : bool
MatchesMethodSignature ( ParameterInfo pis, MethodBase mb ) : bool
SlotOrFunction ( ) : System.Linq.Expressions
TryGetBinder ( PythonContext state, DynamicMetaObject types, string op, string rop, SlotOrFunction &res ) : bool
TryGetBinder ( PythonContext state, DynamicMetaObject types, string op, string rop, SlotOrFunction &res, IronPython.Runtime.Types.PythonType &declaringType ) : bool

Tries to get a MethodBinder associated with the slot for the specified type. If a method is found the binder is set and true is returned. If nothing is found binder is null and true is returned. If something other than a method is found false is returned. TODO: Remove rop

메소드 상세

GetCombinedTargets() 공개 정적인 메소드

Combines two methods, which came from two different binary types, selecting the method which has the best set of conversions (the conversions which result in the least narrowing).
public static GetCombinedTargets ( SlotOrFunction fCand, SlotOrFunction rCand, SlotOrFunction &fTarget, SlotOrFunction &rTarget ) : bool
fCand SlotOrFunction
rCand SlotOrFunction
fTarget SlotOrFunction
rTarget SlotOrFunction
리턴 bool

GetSlotOrFunction() 공개 정적인 메소드

public static GetSlotOrFunction ( PythonContext state, string op ) : SlotOrFunction
state PythonContext
op string
리턴 SlotOrFunction

ShouldWarn() 공개 메소드

public ShouldWarn ( PythonContext context, WarningInfo &info ) : bool
context PythonContext
info WarningInfo
리턴 bool

SlotOrFunction() 공개 메소드

public SlotOrFunction ( BindingTarget function, DynamicMetaObject target ) : System.Linq.Expressions
function Microsoft.Scripting.Actions.Calls.BindingTarget
target DynamicMetaObject
리턴 System.Linq.Expressions

SlotOrFunction() 공개 메소드

public SlotOrFunction ( DynamicMetaObject target ) : System.Linq.Expressions
target DynamicMetaObject
리턴 System.Linq.Expressions

SlotOrFunction() 공개 메소드

public SlotOrFunction ( DynamicMetaObject target, PythonTypeSlot slot ) : System.Linq.Expressions
target DynamicMetaObject
slot IronPython.Runtime.Types.PythonTypeSlot
리턴 System.Linq.Expressions

프로퍼티 상세

Empty 공개적으로 정적으로 프로퍼티

public static SlotOrFunction,IronPython.Runtime.Binding Empty
리턴 SlotOrFunction