C# Класс IronPython.Runtime.Binding.MetaPythonType

Наследование: MetaPythonObject, IPythonConvertible
Показать файл Открыть проект Примеры использования класса

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

Метод Описание
BindInvoke ( InvokeBinder call ) : DynamicMetaObject
BindInvokeMember ( InvokeMemberBinder action, DynamicMetaObject args ) : DynamicMetaObject
Invoke ( IronPython.Runtime.Binding.PythonInvokeBinder pythonInvoke, Expression codeContext, DynamicMetaObject target, DynamicMetaObject args ) : DynamicMetaObject

Приватные методы

Метод Описание
GetAdapters ( ArgumentValues ai, DynamicMetaObjectBinder call, Expression codeContext, NewAdapter &newAdapter, InitAdapter &initAdapter ) : void
GetErrorRestrictions ( ArgumentValues ai ) : BindingRestrictions
GetInitAdapter ( ArgumentValues ai, PythonTypeSlot init, DynamicMetaObjectBinder call, Expression codeContext ) : InitAdapter
GetInstanceRestriction ( ArgumentValues ai ) : BindingRestrictions
GetNewAdapter ( ArgumentValues ai, PythonTypeSlot newInst, DynamicMetaObjectBinder call, Expression codeContext ) : NewAdapter
HasDefaultInit ( DynamicMetaObjectBinder action ) : bool
HasDefaultNew ( DynamicMetaObjectBinder action ) : bool
HasDefaultNewAndInit ( DynamicMetaObjectBinder action ) : bool
HasFinalizer ( DynamicMetaObjectBinder action ) : bool
InvokeWorker ( DynamicMetaObjectBinder call, DynamicMetaObject args, Expression codeContext ) : DynamicMetaObject
IsStandardDotNetType ( DynamicMetaObjectBinder action ) : bool
MakeAbstractInstantiationError ( DynamicMetaObjectBinder call, ArgumentValues ai, ValidationInfo valInfo ) : DynamicMetaObject
MakeGenericTypeDefinitionError ( DynamicMetaObjectBinder call, ArgumentValues ai, ValidationInfo valInfo ) : DynamicMetaObject
MakeIncorrectArgumentsForCallError ( DynamicMetaObjectBinder call, ArgumentValues ai, ValidationInfo valInfo ) : DynamicMetaObject
MakePythonTypeCall ( DynamicMetaObjectBinder call, Expression codeContext, DynamicMetaObject args ) : DynamicMetaObject

Creating a Python type involves calling __new__ and __init__. We resolve them and generate calls to either the builtin funcions directly or embed sites which call the slots at runtime.

MakeStandardDotNetTypeCall ( DynamicMetaObjectBinder call, Expression codeContext, DynamicMetaObject args ) : DynamicMetaObject

Creating a standard .NET type is easy - we just call it's constructor with the provided arguments.

MakeVersionCheck ( ) : ValidationInfo

Creates a test which tests the specific version of the type.

TooManyArgsForDefaultNew ( DynamicMetaObjectBinder action, DynamicMetaObject args ) : bool

Checks if we have a default new and init - in this case if we have any arguments we don't allow the call.

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

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

public BindInvoke ( InvokeBinder call ) : DynamicMetaObject
call InvokeBinder
Результат DynamicMetaObject

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

public BindInvokeMember ( InvokeMemberBinder action, DynamicMetaObject args ) : DynamicMetaObject
action InvokeMemberBinder
args DynamicMetaObject
Результат DynamicMetaObject

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

public Invoke ( IronPython.Runtime.Binding.PythonInvokeBinder pythonInvoke, Expression codeContext, DynamicMetaObject target, DynamicMetaObject args ) : DynamicMetaObject
pythonInvoke IronPython.Runtime.Binding.PythonInvokeBinder
codeContext Expression
target DynamicMetaObject
args DynamicMetaObject
Результат DynamicMetaObject