Expression.ConvertChecked Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří UnaryExpression operaci převodu, která vyvolá výjimku v případě přetečení cílového typu.
Přetížení
| Name | Description |
|---|---|
| ConvertChecked(Expression, Type) |
Vytvoří UnaryExpression operaci převodu, která vyvolá výjimku v případě přetečení cílového typu. |
| ConvertChecked(Expression, Type, MethodInfo) |
Vytvoří UnaryExpression operaci převodu, která vyvolá výjimku, pokud je cílový typ přetečení a pro který je zadaná implementovaná metoda. |
ConvertChecked(Expression, Type)
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
Vytvoří UnaryExpression operaci převodu, která vyvolá výjimku v případě přetečení cílového typu.
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
Operand Nastavení Expression vlastnosti rovno.
Návraty
AUnaryExpression, který má vlastnost rovna ConvertCheckedNodeType a Operand a Type vlastnosti nastaveny na zadané hodnoty.
Výjimky
expression nebo type je null.
Mezi operátorem expressionpřevodu není definován žádný operátor převodu . Zadejte a type.
Poznámky
Vlastnost Method výsledné UnaryExpression je nastavena na implementovací metodu. Vlastnost IsLiftedToNull je false. Pokud je uzel zvednut, IsLifted je true. Jinak je falseto .
Implementace metody
Následující pravidla určují metodu implementace operace:
Pokud je to některý z těchto
expression. Typ nebotypeje uživatelem definovaný typ, který definuje implicitní nebo explicitní převodní operátor, MethodInfo který představuje, že operátor je implementovaná metoda.Jinak:
Pokud jsou oba
expression. Typ atypereprezentovat číselné nebo logické typy, nebo nullable nebo non-nullable výčtové typy, implementační metoda jenull.Pokud je to některý z těchto
expression. Typ nebotypeje typ odkazu a explicitní boxing, rozbalení nebo převod odkazu existuje zexpression. Typ dotype, implementovaná metoda jenull.
Lifted versus Non-Lifted
Pokud implementovaná metoda není null:
Pokud
expression. Typ je možné přiřadit k typu argumentu implementované metody a návratový typ implementované metody je možnétypepřiřadit , uzel není zvednut.Je-li jeden nebo oba z
expression. Typ nebotypejsou typ hodnoty nullable a odpovídající typy hodnot, které nejsou nullable jsou rovny typu argumentu a návratový typ implementované metody, uzel je zvednut.
Pokud implementovaná metoda je null:
Pokud jsou oba
expression. Typ atypenejsou nullable, uzel se nezruší.Jinak se uzel zvedne.
Platí pro
ConvertChecked(Expression, Type, MethodInfo)
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
Vytvoří UnaryExpression operaci převodu, která vyvolá výjimku, pokud je cílový typ přetečení a pro který je zadaná implementovaná metoda.
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
Operand Nastavení Expression vlastnosti rovno.
- method
- MethodInfo
A MethodInfo nastavit Method vlastnost rovná se.
Návraty
AUnaryExpression, který má vlastnost rovna ConvertCheckedNodeTypeOperanda , Typea Method vlastnosti nastaveny na zadané hodnoty.
Výjimky
expression nebo type je null.
method není null a metoda, která představuje vrací void, není static (Shared v jazyce Visual Basic) nebo nebere přesně jeden argument.
Mezi operátorem expressionpřevodu není definován žádný operátor převodu . Zadejte a type.
nebo
expression. Typ nelze přiřadit k typu argumentu metody reprezentované method.
nebo
Návratový typ metody reprezentované method není možné typepřiřadit .
nebo
expression. Typ nebo type je typ hodnoty s možnou hodnotou null a odpovídající typ nenulové hodnoty se nerovná typu argumentu nebo návratového typu metody reprezentované metodou method.
Byla nalezena více než jedna metoda, která odpovídá method popisu.
Poznámky
Vlastnost Method výsledné UnaryExpression je nastavena na implementovací metodu. Vlastnost IsLiftedToNull je false. Pokud je uzel zvednut, IsLifted je true. Jinak je falseto .
Implementace metody
Následující pravidla určují metodu implementace operace:
Pokud metoda není
null, je to implementovaná metoda. Musí představovat jinou metodu než void (staticSharedv jazyce Visual Basic), která přebírá jeden argument.V opačném případě, pokud některý z těchto
expression. Typ nebotypeje uživatelem definovaný typ, který definuje implicitní nebo explicitní převodní operátor, MethodInfo který představuje, že operátor je implementovaná metoda.Jinak:
Pokud jsou oba
expression. Typ atypereprezentovat číselné nebo logické typy, nebo nullable nebo non-nullable výčtové typy, implementační metoda jenull.Pokud je to některý z těchto
expression. Typ nebotypeje typ odkazu a explicitní boxing, rozbalení nebo převod odkazu existuje zexpression. Typ dotype, implementovaná metoda jenull.
Lifted versus Non-Lifted
Pokud implementovaná metoda není null:
Pokud
expression. Typ je možné přiřadit k typu argumentu implementované metody a návratový typ implementované metody je možnétypepřiřadit , uzel není zvednut.Je-li jeden nebo oba z
expression. Typ nebotypejsou typ hodnoty nullable a odpovídající typy hodnot, které nejsou nullable jsou rovny typu argumentu a návratový typ implementované metody, uzel je zvednut.
Pokud implementovaná metoda je null:
Pokud jsou oba
expression. Typ atypenejsou nullable, uzel se nezruší.Jinak se uzel zvedne.