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.
Возвращаемое значение
Выражение 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
.