Expression.IfThen(Expression, Expression) Método

Definição

Cria um ConditionalExpression que representa um bloco condicional com uma instrução if.

C#
public static System.Linq.Expressions.ConditionalExpression IfThen (System.Linq.Expressions.Expression test, System.Linq.Expressions.Expression ifTrue);

Parâmetros

test
Expression

Um Expression para definir a propriedade Test igual a ele.

ifTrue
Expression

Um Expression para definir a propriedade IfTrue igual a ele.

Retornos

Um ConditionalExpression que tem a propriedade NodeType igual a Conditional e as propriedades Test e IfTrue definidas como os valores especificados. A propriedade IfFalse foi definida como a expressão padrão e o tipo do ConditionalExpression resultante retornado por esse método é Void.

Exemplos

O exemplo de código a seguir mostra como criar uma expressão que representa um bloco condicional.

C#
// Add the following directive to the file:
// using System.Linq.Expressions;
bool test = true;

// This expression represents the conditional block.
Expression ifThenExpr = Expression.IfThen(
    Expression.Constant(test),
    Expression.Call(
        null,
        typeof(Console).GetMethod("WriteLine", new Type[] { typeof(String) }),
        Expression.Constant("The condition is true.")
       )
);

// The following statement first creates an expression tree,
// then compiles it, and then runs it.
Expression.Lambda<Action>(ifThenExpr).Compile()();

// This code example produces the following output:
//
// The condition is true.

Aplica-se a

Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0