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
파일 보기 프로젝트 열기: jschementi/iron 1 사용 예제들

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