C# Класс Microsoft.Scripting.Actions.Calls.KeywordArgBuilder

ArgBuilder which provides a value for a keyword argument. The KeywordArgBuilder calculates its position at emit time using it's initial offset within the keyword arguments, the number of keyword arguments, and the total number of arguments provided by the user. It then delegates to an underlying ArgBuilder which only receives the single correct argument. Delaying the calculation of the position to emit time allows the method binding to be done without knowing the exact the number of arguments provided by the user. Hence, the method binder can be dependent only on the set of method overloads and keyword names, but not the user arguments. While the number of user arguments could be determined upfront, the current MethodBinder does not have this design.
Наследование: ArgBuilder
Показать файл Открыть проект Примеры использования класса

Private Properties

Свойство Тип Описание
BuilderExpectsSingleParameter bool
GetKeywordIndex int
MakeRestrictedArg Microsoft.Scripting.Actions.Calls.RestrictedArguments
ToReturnExpression System.Linq.Expressions.Expression
UpdateFromReturn System.Linq.Expressions.Expression

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

Метод Описание
Clone ( ParameterInfo newType ) : ArgBuilder
KeywordArgBuilder ( ArgBuilder builder, int kwArgCount, int kwArgIndex ) : System.Linq.Expressions

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

Метод Описание
ToExpression ( OverloadResolver resolver, Microsoft.Scripting.Actions.Calls.RestrictedArguments args, bool hasBeenUsed ) : Expression

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

Метод Описание
BuilderExpectsSingleParameter ( ArgBuilder builder ) : bool

The underlying builder should expect a single parameter as KeywordArgBuilder is responsible for calculating the correct parameter to use

GetKeywordIndex ( int paramCount ) : int
MakeRestrictedArg ( Microsoft.Scripting.Actions.Calls.RestrictedArguments args, int index ) : Microsoft.Scripting.Actions.Calls.RestrictedArguments
ToReturnExpression ( OverloadResolver resolver ) : Expression
UpdateFromReturn ( OverloadResolver resolver, Microsoft.Scripting.Actions.Calls.RestrictedArguments args ) : Expression

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

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

public Clone ( ParameterInfo newType ) : ArgBuilder
newType ParameterInfo
Результат ArgBuilder

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

public KeywordArgBuilder ( ArgBuilder builder, int kwArgCount, int kwArgIndex ) : System.Linq.Expressions
builder ArgBuilder
kwArgCount int
kwArgIndex int
Результат System.Linq.Expressions

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

protected ToExpression ( OverloadResolver resolver, Microsoft.Scripting.Actions.Calls.RestrictedArguments args, bool hasBeenUsed ) : Expression
resolver OverloadResolver
args Microsoft.Scripting.Actions.Calls.RestrictedArguments
hasBeenUsed bool
Результат System.Linq.Expressions.Expression