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

Expression プロパティを等しく設定する Operand

type
Type

Type プロパティを等しく設定する Type

戻り値

UnaryExpression と等しい NodeType プロパティと、指定した値に設定された TypeAs プロパティおよび Operand プロパティを含む Type

例外

expression または typenull です。

次の例では、 メソッドを TypeAs(Expression, Type) 使用して、null 非許容整数式から null 許容整数型への参照変換を表す を作成 UnaryExpression する方法を示します。

// 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)

注釈

結果UnaryExpressionの の プロパティは Method ですnullIsLiftedプロパティと IsLiftedToNull プロパティはどちらも falseです。

適用対象