通过


Expression.TypeAs(Expression, Type) 方法

定义

创建一个 UnaryExpression 表示显式引用或装箱转换,如果转换失败,则提供该转换 null

public:
 static System::Linq::Expressions::UnaryExpression ^ TypeAs(System::Linq::Expressions::Expression ^ expression, Type ^ type);
public static System.Linq.Expressions.UnaryExpression TypeAs(System.Linq.Expressions.Expression expression, Type type);
static member TypeAs : System.Linq.Expressions.Expression * Type -> System.Linq.Expressions.UnaryExpression
Public Shared Function TypeAs (expression As Expression, type As Type) As UnaryExpression

参数

expression
Expression

要设置的属性Operand等于的一个Expression

type
Type

一个 Type 设置为 Type 等于的属性。

返回

一个UnaryExpression属性NodeType等于TypeAsOperandType属性设置为指定值。

例外

expressiontypenull.

示例

下面的示例演示如何使用 TypeAs(Expression, Type) 该方法创建一个 UnaryExpression 表示不可为 null 整数表达式的引用转换到可为 null 的整数类型。

// Create a UnaryExpression that represents a
// conversion of an int to an int?.
System.Linq.Expressions.UnaryExpression typeAsExpression =
    System.Linq.Expressions.Expression.TypeAs(
        System.Linq.Expressions.Expression.Constant(34, typeof(int)),
        typeof(int?));

Console.WriteLine(typeAsExpression.ToString());

// This code produces the following output:
//
// (34 As Nullable`1)
' Create a UnaryExpression that represents a reference
' conversion of an Integer to an Integer? (a nullable Integer).
Dim typeAsExpression As System.Linq.Expressions.UnaryExpression = _
    System.Linq.Expressions.Expression.TypeAs( _
        System.Linq.Expressions.Expression.Constant(34, Type.GetType("System.Int32")), _
        Type.GetType("System.Nullable`1[System.Int32]"))

Console.WriteLine(typeAsExpression.ToString())

' This code produces the following output:
'
' (34 As Nullable`1)

注解

Method生成的UnaryExpression属性为 null. 和IsLiftedIsLiftedToNull属性都是 false

适用于