C# 클래스 Microsoft.Scripting.Actions.ConditionalBuilder

Builds up a series of conditionals when the False clause isn't yet known. We can keep appending conditions and if true's. Each subsequent true branch becomes the false branch of the previous condition and body. Finally a non-conditional terminating branch must be added.
파일 보기 프로젝트 열기: jschementi/iron

공개 메소드들

메소드 설명
AddCondition ( Expression condition, Expression body ) : void

Adds a new conditional and body. The first call this becomes the top-level conditional, subsequent calls will have it added as false statement of the previous conditional.

AddVariable ( System.Linq.Expressions.ParameterExpression var ) : void

Adds a variable which will be scoped at the level of the final expression.

FinishCondition ( DynamicMetaObject body ) : void
FinishCondition ( Expression body ) : void

Adds the non-conditional terminating node.

FinishError ( DynamicMetaObject body ) : void
FinishError ( Expression body ) : void

Adds the non-conditional terminating node.

GetMetaObject ( ) : DynamicMetaObject

Gets the resulting meta object for the full body. FinishCondition must have been called.

메소드 상세

AddCondition() 공개 메소드

Adds a new conditional and body. The first call this becomes the top-level conditional, subsequent calls will have it added as false statement of the previous conditional.
public AddCondition ( Expression condition, Expression body ) : void
condition System.Linq.Expressions.Expression
body System.Linq.Expressions.Expression
리턴 void

AddVariable() 공개 메소드

Adds a variable which will be scoped at the level of the final expression.
public AddVariable ( System.Linq.Expressions.ParameterExpression var ) : void
var System.Linq.Expressions.ParameterExpression
리턴 void

FinishCondition() 공개 메소드

public FinishCondition ( DynamicMetaObject body ) : void
body DynamicMetaObject
리턴 void

FinishCondition() 공개 메소드

Adds the non-conditional terminating node.
public FinishCondition ( Expression body ) : void
body System.Linq.Expressions.Expression
리턴 void

FinishError() 공개 메소드

public FinishError ( DynamicMetaObject body ) : void
body DynamicMetaObject
리턴 void

FinishError() 공개 메소드

Adds the non-conditional terminating node.
public FinishError ( Expression body ) : void
body System.Linq.Expressions.Expression
리턴 void

GetMetaObject() 공개 메소드

Gets the resulting meta object for the full body. FinishCondition must have been called.
public GetMetaObject ( ) : DynamicMetaObject
리턴 DynamicMetaObject