Expression.ConvertChecked Метод

Определение

UnaryExpression Создает операцию преобразования, которая создает исключение, если целевой тип переполнен.

Перегрузки

Имя Описание
ConvertChecked(Expression, Type)

UnaryExpression Создает операцию преобразования, которая создает исключение, если целевой тип переполнен.

ConvertChecked(Expression, Type, MethodInfo)

UnaryExpression Создает операцию преобразования, которая создает исключение, если целевой тип переполнен и для которого указан метод реализации.

ConvertChecked(Expression, Type)

Исходный код:
UnaryExpression.cs
Исходный код:
UnaryExpression.cs
Исходный код:
UnaryExpression.cs
Исходный код:
UnaryExpression.cs
Исходный код:
UnaryExpression.cs

UnaryExpression Создает операцию преобразования, которая создает исключение, если целевой тип переполнен.

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

Параметры

expression
Expression

Значение Expression , равное свойству Operand .

type
Type

Значение, Type равное свойству Type .

Возвращаемое значение

Значение UnaryExpression , равное свойству NodeTypeConvertChecked и OperandType свойствам, заданным указанным значениям.

Исключения

expression или type есть null.

Оператор преобразования не определен между expression. Тип и type.

Комментарии

Свойство Method результирующего UnaryExpression объекта имеет значение реализующего метода. Свойство IsLiftedToNull является false. Если узел снят, IsLifted имеет значение true. В противном случае значение равно false.

Реализация метода

Следующие правила определяют метод реализации для операции:

  • Если один из expressionэтих вариантов. Тип или type является определяемым пользователем типом, определяющим неявный или явный оператор преобразования, MethodInfo который представляет этот оператор является методом реализации.

  • В противном случае:

    • Если оба expression. Тип и type представление числовых или логических типов, а также типов перечислений, допускающих значение NULL или не допускающих значение NULL, — nullэто метод реализации.

    • Если один из expressionэтих вариантов. Тип или type является ссылочным типом и явным боксом, распаковкой или преобразованием ссылок существует из expression. typeТип в , реализующим методом nullявляется .

Снято и не снято

Если метод реализации не null :

  • If expression. Тип можно назначить типу аргумента метода реализации, а возвращаемый тип метода реализации можно typeназначить, узел не поднимается.

  • Если один или оба expressionиз . Тип или type тип значения, допускающий значение NULL, и соответствующие типы значений, не допускающие значения NULL, равны типу аргумента и возвращаемому типу метода реализации соответственно, узел поднимается.

Если метод реализации имеет значение null:

  • Если оба expression. Тип и type не допускает значение NULL, узел не поднимается.

  • В противном случае узел поднимается.

Применяется к

ConvertChecked(Expression, Type, MethodInfo)

Исходный код:
UnaryExpression.cs
Исходный код:
UnaryExpression.cs
Исходный код:
UnaryExpression.cs
Исходный код:
UnaryExpression.cs
Исходный код:
UnaryExpression.cs

UnaryExpression Создает операцию преобразования, которая создает исключение, если целевой тип переполнен и для которого указан метод реализации.

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

Параметры

expression
Expression

Значение Expression , равное свойству Operand .

type
Type

Значение, Type равное свойству Type .

method
MethodInfo

Значение, MethodInfo равное свойству Method .

Возвращаемое значение

ЗначениеUnaryExpression, равное свойству NodeTypeConvertChecked и OperandTypeсвойству, Method заданному указанным значениям.

Исключения

expression или type есть null.

method не null является и метод, который он представляет возвращаемого значения void, не static является (Shared в Visual Basic) или не принимает ровно один аргумент.

Оператор преобразования не определен между expression. Тип и type.

–или–

expression. Тип не присваивается типу аргумента метода, methodпредставленному .

–или–

Возвращаемый тип метода, method представленный не может typeбыть назначен.

–или–

expression. Тип или type является типом значения, допускающего значение NULL, и соответствующий тип значения, не допускающий значение NULL, не равен типу аргумента или возвращаемому типу соответственно метода, представленному методом method.

Обнаружено несколько методов, соответствующих описанию method .

Комментарии

Свойство Method результирующего UnaryExpression объекта имеет значение реализующего метода. Свойство IsLiftedToNull является false. Если узел снят, IsLifted имеет значение true. В противном случае значение равно false.

Реализация метода

Следующие правила определяют метод реализации для операции:

  • Если метод не nullявляется, это метод реализации. Он должен представлять непустый static метод (Shared в Visual Basic), который принимает один аргумент.

  • В противном случае, если одно из expressionэтих вариантов. Тип или type является определяемым пользователем типом, определяющим неявный или явный оператор преобразования, MethodInfo который представляет этот оператор является методом реализации.

  • В противном случае:

    • Если оба expression. Тип и type представление числовых или логических типов, а также типов перечислений, допускающих значение NULL или не допускающих значение NULL, — nullэто метод реализации.

    • Если один из expressionэтих вариантов. Тип или type является ссылочным типом и явным боксом, распаковкой или преобразованием ссылок существует из expression. typeТип в , реализующим методом nullявляется .

Снято и не снято

Если метод реализации не null :

  • If expression. Тип можно назначить типу аргумента метода реализации, а возвращаемый тип метода реализации можно typeназначить, узел не поднимается.

  • Если один или оба expressionиз . Тип или type тип значения, допускающий значение NULL, и соответствующие типы значений, не допускающие значения NULL, равны типу аргумента и возвращаемому типу метода реализации соответственно, узел поднимается.

Если метод реализации имеет значение null:

  • Если оба expression. Тип и type не допускает значение NULL, узел не поднимается.

  • В противном случае узел поднимается.

Применяется к