Expression.TypeAs(Expression, Type) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建一个表示显式引用或装箱转换的 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。
返回
一个 UnaryExpression,其 NodeType 属性等于 TypeAs,并且其 Operand 和 Type 属性设置为指定值。
例外
expression
或 type
为 null
。
示例
以下示例演示如何使用 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
。 IsLifted和 IsLiftedToNull 属性都是 false
。