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 .
Возвращаемое значение
Значение 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 .
- 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, узел не поднимается.В противном случае узел поднимается.