Expression 클래스

정의

값을 생성 하기 위해 분석 하거나 평가할 수 있는 식입니다.An expression which can be analyzed or evaluated to produce a value.

public class Expression
type Expression = class
Public Class Expression
상속
Expression
파생

설명

이는 다양 한 기본 제공 함수를 지 원하는 개방형 래퍼를 제공 하며 런타임에 확장 될 수도 있습니다.This provides an open-ended wrapper that supports a number of built-in functions and can also be extended at runtime. 또한 예외를 사용 하지 않아야 하는 식 및 계산의 정확성에 대 한 유효성 검사를 지원 합니다.It also supports validation of the correctness of an expression and evaluation that should be exception free.

생성자

Expression(ExpressionEvaluator, Expression[])

Expression 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Expression class. 식 생성자.Expression constructor.

Expression(String, Expression[])

Expression 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Expression class. 기본 제공 식 생성자입니다.Built-in expression constructor.

필드

Functions

Function = expressionevaluator의 사전입니다 > .Dictionary of function => ExpressionEvaluator.

속성

Children

자식 식을 가져오거나 설정 합니다.Gets or sets children expressions.

Evaluator

식 계산기를 가져옵니다.Gets expression evaluator.

ReturnType

식 계산의 예상 결과를 가져옵니다.Gets expected result of evaluating expression.

Type

식의 유형을 가져옵니다.Gets type of expression.

메서드

Accessor(String, Expression)

속성 접근자를 생성 하 고 유효성을 검사 합니다.Construct and validate a property accessor.

AndExpression(Expression[])

And 식을 생성 하 고 유효성을 검사 합니다.Construct and validate an And expression.

ConstantExpression(Object)

상수 식을 생성 합니다.Construct a constant expression.

DeepEquals(Expression)

식 사이에 깊은 같음을 수행 합니다.Do a deep equality between expressions.

EqualsExpression(Expression[])

Equals 식을 생성 하 고 유효성을 검사 합니다.Construct and validate an Equals expression.

LambaExpression(EvaluateExpressionDelegate)

에서 식을 생성 EvaluateExpressionDelegate 합니다.Construct an expression from a EvaluateExpressionDelegate.

Lambda(Func<Object,Object>)

상태에 대 한 람다 식에서 식을 생성 합니다.Construct an expression from a lambda expression over the state.

Lookup(String)

이름을 기준으로 ExpressionEvaluator (함수)를 조회 합니다.Lookup a ExpressionEvaluator (function) by name.

MakeExpression(ExpressionEvaluator, Expression[])

식을 만들고 유효성을 검사 합니다.Make an expression and validate it.

MakeExpression(String, Expression[])

식을 만들고 유효성을 검사 합니다.Make an expression and validate it.

NotExpression(Expression)

Not 식의 생성 및 유효성 검사Construct and validate a Not expression.

OrExpression(Expression[])

또는 식을 생성 하 고 유효성을 검사 합니다.Construct and validate an Or expression.

Parse(String, EvaluatorLookup)

식 문자열을 식 개체로 구문 분석 합니다.Parse an expression string into an expression object.

References()

메모리에 대 한 정적 참조 경로를 반환 합니다.Return the static reference paths to memory.

ReferenceWalk(Expression, Func<Expression,Boolean>)

식에서 정적 메모리 참조를 식별 하기 위한 탐색 함수입니다.Walking function for identifying static memory references in an expression.

SetPathToValue(Expression, Expression)

을 생성 하 고 유효성을 검사 하 여 속성 식을 값 식으로 설정 합니다.Construct and validate an Set a property expression to a value expression.

SetPathToValue(Expression, Object)

을 생성 하 고 유효성을 검사 하 여 속성 식을 값 식으로 설정 합니다.Construct and validate an Set a property expression to a value expression.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

TryEvaluate(IMemory, Options)

식을 계산 합니다.Evaluate the expression.

TryEvaluate(Object, Options)

식을 계산 합니다.Evaluate the expression.

TryEvaluate<T>(IMemory, Options)

식을 계산 합니다.Evaluate the expression.

TryEvaluate<T>(Object, Options)

식을 계산 합니다.Evaluate the expression.

Validate()

직접 실행 식의 유효성을 검사 합니다.Validate immediate expression.

ValidateTree()

식 트리의 유효성을 재귀적으로 검사 합니다.Recursively validate the expression tree.

연산자

Implicit(String to Expression)

문자열을 식 속성에 암시적으로 할당할 수 있습니다.allow a string to be implicitly assigned to an expression property.

확장 메서드

DisjunctiveNormalForm(Expression)

분리 normal 형식으로 식을 다시 작성 합니다.Rewrite expression into disjunctive normal form.

PushDownNot(Expression)

나뭇잎으로 푸시 하지 않고 식을 다시 작성 합니다.Rewrite the expression by pushing not down to the leaves.

적용 대상