Expression.ConvertChecked Metoda

Definicja

Tworzy obiekt UnaryExpression reprezentujący operację konwersji, która zgłasza wyjątek, jeśli typ docelowy jest przepełniony.

Przeciążenia

ConvertChecked(Expression, Type)

Tworzy obiekt UnaryExpression reprezentujący operację konwersji, która zgłasza wyjątek, jeśli typ docelowy jest przepełniony.

ConvertChecked(Expression, Type, MethodInfo)

UnaryExpression Tworzy element reprezentujący operację konwersji, która zgłasza wyjątek, jeśli typ docelowy jest przepełniony i dla którego określono metodę implementującą.

ConvertChecked(Expression, Type)

Źródło:
UnaryExpression.cs
Źródło:
UnaryExpression.cs
Źródło:
UnaryExpression.cs

Tworzy obiekt UnaryExpression reprezentujący operację konwersji, która zgłasza wyjątek, jeśli typ docelowy jest przepełniony.

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

Parametry

expression
Expression

Element , Expression aby ustawić właściwość równą Operand .

type
Type

A Type , aby ustawić właściwość równą Type .

Zwraca

WłaściwośćUnaryExpression, która ma właściwość równą ConvertCheckedNodeType właściwości i i TypeOperand ustawioną na określone wartości.

Wyjątki

expression lub type to null.

Nie zdefiniowano operatora konwersji między elementami expression. Wpisz i type.

Uwagi

Właściwość Method wynikowej UnaryExpression jest ustawiona na metodę implementowania. Właściwość IsLiftedToNull to false. Jeśli węzeł zostanie zniesiony, IsLifted to .true W przeciwnym razie jest falseto .

Metoda implementująca

Następujące reguły określają metodę implementowania operacji:

  • Jeśli albo expression. Typ lub type jest typem zdefiniowanym przez użytkownika, który definiuje niejawny lub jawny operator konwersji, MethodInfo który reprezentuje ten operator jest metodą implementowania.

  • W przeciwnym razie:

    • Jeśli oba expression. Wpisz i type reprezentuje typy liczbowe lub logiczne albo typy wyliczalne o wartości null lub niezwiązane z wartością null, metoda implementowania to null.

    • Jeśli albo expression. Typ lub type jest typem referencyjnym, a jawne boxing, rozpakowywanie lub konwersja odwołania istnieje z expressionklasy . Wpisz wartość type, metoda implementowania to null.

Podniesione i niepodniesione

Jeśli metoda implementowania nie nulljest :

  • Jeśli expression. Typ jest przypisywany do typu argumentu metody implementowania, a zwracany typ metody implementowania można przypisać do typeelementu , węzeł nie zostanie zniesiony.

  • Jeśli jeden lub oba z . expression Typ lub type to typ wartości dopuszczający wartość null, a odpowiadające im typy wartości niepustych są równe typowi argumentu i zwracanym typowi metody implementowania, węzeł zostanie zniesiony.

Jeśli metoda implementowania to null:

  • Jeśli oba expression. Wpisz i type nie ma wartości null, węzeł nie zostanie zniesiony.

  • W przeciwnym razie węzeł zostanie zniesiony.

Dotyczy

ConvertChecked(Expression, Type, MethodInfo)

Źródło:
UnaryExpression.cs
Źródło:
UnaryExpression.cs
Źródło:
UnaryExpression.cs

UnaryExpression Tworzy element reprezentujący operację konwersji, która zgłasza wyjątek, jeśli typ docelowy jest przepełniony i dla którego określono metodę implementującą.

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

Parametry

expression
Expression

Element , Expression aby ustawić właściwość równą Operand .

type
Type

A Type , aby ustawić właściwość równą Type .

method
MethodInfo

A MethodInfo , aby ustawić właściwość równą Method .

Zwraca

WłaściwośćUnaryExpression, która ma właściwość równą ConvertCheckedNodeType wartościom , i OperandType, i Method ustawioną na określone wartości.

Wyjątki

expression lub type to null.

method nie null jest i metoda, która reprezentuje zwraca voidwartość , nie static jest (Shared w Visual Basic) lub nie bierze dokładnie jednego argumentu.

Nie zdefiniowano operatora konwersji między elementami expression. Wpisz i type.

-lub-

expression. Typ nie można przypisać do typu argumentu metody reprezentowanej przez .method

-lub-

Zwracany typ metody reprezentowanej przez method program nie można przypisać do typeelementu .

-lub-

expression. Typ lub type jest typem wartości dopuszczalnej wartości null, a odpowiadający mu typ wartości bez wartości null nie jest równy typowi argumentu ani typowi zwracanemu, odpowiednio, metody reprezentowanej przez methodmetodę .

Znaleziono więcej niż jedną metodę zgodną z opisem method .

Uwagi

Właściwość Method wynikowej UnaryExpression jest ustawiona na metodę implementowania. Właściwość IsLiftedToNull to false. Jeśli węzeł zostanie zniesiony, IsLifted to .true W przeciwnym razie jest falseto .

Metoda implementująca

Następujące reguły określają metodę implementowania operacji:

  • Jeśli metoda nie nulljest , jest to metoda implementowania. Musi reprezentować metodę niepustą ( staticShared w Visual Basic), która przyjmuje jeden argument.

  • W przeciwnym razie, jeśli albo expression. Typ lub type jest typem zdefiniowanym przez użytkownika, który definiuje niejawny lub jawny operator konwersji, MethodInfo który reprezentuje ten operator jest metodą implementowania.

  • W przeciwnym razie:

    • Jeśli oba expression. Wpisz i type reprezentuje typy liczbowe lub logiczne albo typy wyliczalne o wartości null lub niezwiązane z wartością null, metoda implementowania to null.

    • Jeśli albo expression. Typ lub type jest typem referencyjnym, a jawne boxing, rozpakowywanie lub konwersja odwołania istnieje z expressionklasy . Wpisz wartość type, metoda implementowania to null.

Podniesione i niepodniesione

Jeśli metoda implementowania nie nulljest :

  • Jeśli expression. Typ jest przypisywany do typu argumentu metody implementowania, a zwracany typ metody implementowania można przypisać do typeelementu , węzeł nie zostanie zniesiony.

  • Jeśli jeden lub oba z . expression Typ lub type to typ wartości dopuszczający wartość null, a odpowiadające im typy wartości niepustych są równe typowi argumentu i zwracanym typowi metody implementowania, węzeł zostanie zniesiony.

Jeśli metoda implementowania to null:

  • Jeśli oba expression. Wpisz i type nie ma wartości null, węzeł nie zostanie zniesiony.

  • W przeciwnym razie węzeł zostanie zniesiony.

Dotyczy