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 který představuje operaci převodu, která vyvolá výjimku, pokud je cílový typ přetečení.
Přetížení
| ConvertChecked(Expression, Type) |
Vytvoří, UnaryExpression který představuje operaci převodu, která vyvolá výjimku, pokud je cílový typ přetečení. |
| ConvertChecked(Expression, Type, MethodInfo) |
Vytvoří, UnaryExpression který představuje operaci převodu, která vyvolá výjimku, pokud je cílový typ přetečení a pro který je určena implementovaná metoda. |
ConvertChecked(Expression, Type)
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
Vytvoří, UnaryExpression který představuje operaci převodu, která vyvolá výjimku, pokud je cílový typ přetečení.
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
Pro Expression nastavení Operand vlastnosti na hodnotu .
Návraty
A UnaryExpression , který má NodeType vlastnost rovnou ConvertChecked a Operand vlastnosti a Type nastavené na zadané hodnoty.
Výjimky
expression nebo type je null.
Mezi operátorem není definován žádný operátor převodu. expression Zadejte a type.
Poznámky
Vlastnost Method výsledného UnaryExpression objektu je nastavena na implementovací metodu. Vlastnost IsLiftedToNull je false. Pokud je uzel zvednut, IsLifted je true. V opačném případě je falseto .
Implementace metody
Následující pravidla určují metodu implementace operace:
Pokud je některý z těchto:
expression. Typ nebotypeje uživatelem definovaný typ, který definuje implicitní nebo explicitní operátor převodu MethodInfo , který představuje tento operátor je implementovaná metoda.V opačném případě:
Pokud jsou oba
expression. Typ atypepředstavují číselné nebo logické typy nebo typy výčtu s možnou hodnotou null nebo s možnou hodnotou null, implementační metoda jenull.Pokud je některý z těchto:
expression. Typ nebotypeje typ odkazu a zexpressionnástroje existuje explicitní převod boxingu, rozbalení nebo odkazu. Typ dotype, implementovaná metoda jenull.
Zrušeno vs. nezrušeno
Pokud implementovaná metoda není null:
Pokud
expression. Typ je přiřaditelný k typu argumentu implementované metody a návratový typ implementované metody je přiřaditelné ktype, uzel není zvednut.Pokud je nebo obojí z .
expressionType ortypeare a nullable value type and the corresponding non-nullable value types are equal to the argument type and the return type of the implementing methodly, the node is lifted.
Pokud je nullimplementovaná metoda :
Pokud jsou oba
expression. Zadejte atypenemají hodnotu null, uzel se nezruší.V opačném případě je uzel zvednut.
Platí pro
ConvertChecked(Expression, Type, MethodInfo)
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
- Zdroj:
- UnaryExpression.cs
Vytvoří, UnaryExpression který představuje operaci převodu, která vyvolá výjimku, pokud je cílový typ přetečení a pro který je určena 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
Pro Expression nastavení Operand vlastnosti na hodnotu .
- method
- MethodInfo
A MethodInfo , aby se Method vlastnost nastavil na hodnotu .
Návraty
Vlastnost , UnaryExpression která má NodeType vlastnost , TypeConvertCheckedOperanda Method nastavené na zadané hodnoty.
Výjimky
expression nebo type je null.
method není null a metoda, která představuje, vrátí void, není static (Shared v jazyce Visual Basic) nebo nepřebírají přesně jeden argument.
Mezi operátorem není definován žádný operátor převodu. expression Zadejte a type.
-nebo-
expression. Typ není možné přiřadit k typu argumentu metody reprezentované parametrem method.
-nebo-
Návratový typ metody reprezentované parametrem method není možné přiřadit k type.
-nebo-
expression. Typ nebo type je typ hodnoty s možnou hodnotou null a odpovídající typ hodnoty, který nelze použít hodnotu null, se nerovná typu argumentu nebo návratového typu metody reprezentované parametrem method.
Byla nalezena více než jedna metoda, která odpovídá method popisu.
Poznámky
Vlastnost Method výsledného UnaryExpression objektu je nastavena na implementovací metodu. Vlastnost IsLiftedToNull je false. Pokud je uzel zvednut, IsLifted je true. V opačném případě je falseto .
Implementace metody
Následující pravidla určují metodu implementace operace:
Pokud není metoda
null, jedná se o implementizační metodu. Musí představovat metodu non-void (staticSharedv jazyce Visual Basic), která přijímá jeden argument.V opačném případě platí, že pokud je některý z těchto:
expression. Typ nebotypeje uživatelem definovaný typ, který definuje implicitní nebo explicitní operátor převodu MethodInfo , který představuje tento operátor je implementovaná metoda.V opačném případě:
Pokud jsou oba
expression. Typ atypepředstavují číselné nebo logické typy nebo typy výčtu s možnou hodnotou null nebo s možnou hodnotou null, implementační metoda jenull.Pokud je některý z těchto:
expression. Typ nebotypeje typ odkazu a zexpressionnástroje existuje explicitní převod boxingu, rozbalení nebo odkazu. Typ dotype, implementovaná metoda jenull.
Zrušeno vs. nezrušeno
Pokud implementovaná metoda není null:
Pokud
expression. Typ je přiřaditelný k typu argumentu implementované metody a návratový typ implementované metody je přiřaditelné ktype, uzel není zvednut.Pokud je nebo obojí z .
expressionType ortypeare a nullable value type and the corresponding non-nullable value types are equal to the argument type and the return type of the implementing methodly, the node is lifted.
Pokud je nullimplementovaná metoda :
Pokud jsou oba
expression. Zadejte atypenemají hodnotu null, uzel se nezruší.V opačném případě je uzel zvednut.