Expression.ConvertChecked Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee maakt u een UnaryExpression conversiebewerking die een uitzondering genereert als het doeltype overloopt.
Overloads
| Name | Description |
|---|---|
| ConvertChecked(Expression, Type) |
Hiermee maakt u een UnaryExpression conversiebewerking die een uitzondering genereert als het doeltype overloopt. |
| ConvertChecked(Expression, Type, MethodInfo) |
Hiermee maakt u een UnaryExpression conversiebewerking die een uitzondering genereert als het doeltype overloopt en waarvoor de implementatiemethode is opgegeven. |
ConvertChecked(Expression, Type)
Hiermee maakt u een UnaryExpression conversiebewerking die een uitzondering genereert als het doeltype overloopt.
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
Parameters
- expression
- Expression
Een Expression om de Operand eigenschap in te stellen die gelijk is aan.
Retouren
Een UnaryExpression met de NodeType eigenschap gelijk aan ConvertChecked en de Operand eigenschappen die Type zijn ingesteld op de opgegeven waarden.
Uitzonderingen
expression of type is null.
Er is geen conversieoperator gedefinieerd tussen expression. Typ en type.
Opmerkingen
De Method eigenschap van het resultaat UnaryExpression wordt ingesteld op de implementatiemethode. De eigenschap IsLiftedToNull is false. Als het knooppunt wordt opgeheven, IsLifted is truedit . Anders is falsehet .
Implementatiemethode
De volgende regels bepalen de implementatiemethode voor de bewerking:
Als een van
expressionbeide . Typ oftypeis een door de gebruiker gedefinieerd type dat een impliciete of expliciete conversieoperator definieert, de MethodInfo operator die de implementatiemethode vertegenwoordigt.Anders:
Als beide
expression. Typ entypevertegenwoordig numerieke of Booleaanse typen, of nullable of niet-nullable opsommingstypen, de implementatiemethode isnull.Als een van
expressionbeide . Typ oftypeis een verwijzingstype en er bestaat een expliciete boksing, uitboxing of verwijzingsconversie.expressionType totype, de implementatiemethode isnull.
Opgeheven versus niet-opgeheven
Als de implementatiemethode niet null is:
Als
expression. Het type kan worden toegewezen aan het argumenttype van de implementatiemethode en het retourtype van de implementatiemethode kan worden toegewezentype, het knooppunt wordt niet opgeheven.Als of beide van
expression. Typ oftypeeen null-waardetype en de bijbehorende niet-null-waardetypen zijn gelijk aan het argumenttype en het retourtype van respectievelijk de implementatiemethode, het knooppunt wordt opgeheven.
Als de implementatiemethode het volgende is null:
Als beide
expression. Type entypezijn niet nullable, het knooppunt wordt niet opgeheven.Anders wordt het knooppunt opgeheven.
Van toepassing op
ConvertChecked(Expression, Type, MethodInfo)
Hiermee maakt u een UnaryExpression conversiebewerking die een uitzondering genereert als het doeltype overloopt en waarvoor de implementatiemethode is opgegeven.
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
Parameters
- expression
- Expression
Een Expression om de Operand eigenschap in te stellen die gelijk is aan.
- method
- MethodInfo
A MethodInfo om de Method eigenschap in te stellen die gelijk is aan.
Retouren
Een UnaryExpression met de NodeType eigenschap gelijk aan ConvertChecked en de Operand, Typeen Method eigenschappen die zijn ingesteld op de opgegeven waarden.
Uitzonderingen
expression of type is null.
method is niet null en de methode die deze vertegenwoordigt, retourneert void, is niet static (Shared in Visual Basic) of neemt niet precies één argument.
Er is geen conversieoperator gedefinieerd tussen expression. Typ en type.
– of –
expression. Het type kan niet worden toegewezen aan het argumenttype van de methode die wordt vertegenwoordigd door method.
– of –
Het retourtype van de methode die wordt vertegenwoordigd door method , kan niet worden toegewezen aan type.
– of –
expression. Typ of type is een null-waardetype en het overeenkomstige niet-null-waardetype is niet gelijk aan het argumenttype of het retourtype, respectievelijk, van de methode die wordt vertegenwoordigd door method.
Er is meer dan één methode gevonden die overeenkomt met de method beschrijving.
Opmerkingen
De Method eigenschap van het resultaat UnaryExpression wordt ingesteld op de implementatiemethode. De eigenschap IsLiftedToNull is false. Als het knooppunt wordt opgeheven, IsLifted is truedit . Anders is falsehet .
Implementatiemethode
De volgende regels bepalen de implementatiemethode voor de bewerking:
Als de methode niet
nullis, is dit de implementatiemethode. Het moet een niet-ongeldige methodestatic(Sharedin Visual Basic) vertegenwoordigen die één argument gebruikt.Als dat niet
expressionhet geval is. Typ oftypeis een door de gebruiker gedefinieerd type dat een impliciete of expliciete conversieoperator definieert, de MethodInfo operator die de implementatiemethode vertegenwoordigt.Anders:
Als beide
expression. Typ entypevertegenwoordig numerieke of Booleaanse typen, of nullable of niet-nullable opsommingstypen, de implementatiemethode isnull.Als een van
expressionbeide . Typ oftypeis een verwijzingstype en er bestaat een expliciete boksing, uitboxing of verwijzingsconversie.expressionType totype, de implementatiemethode isnull.
Opgeheven versus niet-opgeheven
Als de implementatiemethode niet null is:
Als
expression. Het type kan worden toegewezen aan het argumenttype van de implementatiemethode en het retourtype van de implementatiemethode kan worden toegewezentype, het knooppunt wordt niet opgeheven.Als of beide van
expression. Typ oftypeeen null-waardetype en de bijbehorende niet-null-waardetypen zijn gelijk aan het argumenttype en het retourtype van respectievelijk de implementatiemethode, het knooppunt wordt opgeheven.
Als de implementatiemethode het volgende is null:
Als beide
expression. Type entypezijn niet nullable, het knooppunt wordt niet opgeheven.Anders wordt het knooppunt opgeheven.