Expression.ConvertChecked Methode

Definitie

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.

type
Type

A Type om de Type 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 of type is 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 en type vertegenwoordig numerieke of Booleaanse typen, of nullable of niet-nullable opsommingstypen, de implementatiemethode is null.

    • Als een van expressionbeide . Typ of type is een verwijzingstype en er bestaat een expliciete boksing, uitboxing of verwijzingsconversie. expression Type to type, de implementatiemethode is null.

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 toegewezen type, het knooppunt wordt niet opgeheven.

  • Als of beide van expression. Typ of type een 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 en type zijn 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.

type
Type

A Type om de Type 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 methode static (Shared in Visual Basic) vertegenwoordigen die één argument gebruikt.

  • Als dat niet expressionhet geval is. Typ of type is 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 en type vertegenwoordig numerieke of Booleaanse typen, of nullable of niet-nullable opsommingstypen, de implementatiemethode is null.

    • Als een van expressionbeide . Typ of type is een verwijzingstype en er bestaat een expliciete boksing, uitboxing of verwijzingsconversie. expression Type to type, de implementatiemethode is null.

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 toegewezen type, het knooppunt wordt niet opgeheven.

  • Als of beide van expression. Typ of type een 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 en type zijn niet nullable, het knooppunt wordt niet opgeheven.

  • Anders wordt het knooppunt opgeheven.

Van toepassing op