Expression.ConvertChecked Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea un oggetto UnaryExpression che rappresenta un'operazione di conversione che genera un'eccezione in caso di overflow del tipo di destinazione.
Overload
| ConvertChecked(Expression, Type) |
Crea un oggetto UnaryExpression che rappresenta un'operazione di conversione che genera un'eccezione in caso di overflow del tipo di destinazione. |
| ConvertChecked(Expression, Type, MethodInfo) |
Crea un oggetto UnaryExpression che rappresenta un'operazione di conversione che genera un'eccezione in caso di overflow del tipo di destinazione e per la quale è specificato il metodo di implementazione. |
ConvertChecked(Expression, Type)
- Origine:
- UnaryExpression.cs
- Origine:
- UnaryExpression.cs
- Origine:
- UnaryExpression.cs
Crea un oggetto UnaryExpression che rappresenta un'operazione di conversione che genera un'eccezione in caso di overflow del tipo di destinazione.
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
Parametri
- expression
- Expression
Oggetto Expression su cui impostare la proprietà Operand.
Restituisce
Oggetto UnaryExpression la cui proprietà NodeType è uguale a ConvertChecked e le cui proprietà Operand e Type sono impostate sui valori specificati.
Eccezioni
expression o type è null.
Nessun operatore di conversione è definito tra expression.Type e type.
Commenti
La Method proprietà dell'oggetto risultante UnaryExpression viene impostata sul metodo di implementazione. La proprietà IsLiftedToNull è false. Se il nodo viene sollevato, IsLifted è true. In caso contrario, è false.
Metodo di implementazione
Le regole seguenti determinano il metodo di implementazione per l'operazione:
Se uno dei due .
expressionTipo otypeè un tipo definito dall'utente che definisce un operatore di conversione implicito o esplicito, MethodInfo che rappresenta tale operatore è il metodo di implementazione.In caso contrario:
Se entrambi
expression. Digitare etyperappresentare tipi numerici o booleani oppure tipi di enumerazione nullable o non nullable, il metodo di implementazione ènull.Se uno dei due .
expressionIl tipo otypeè un tipo riferimento e una conversione boxing, unboxing o riferimento esplicita esiste daexpression. Digitare in , il metodo di implementazionetypeènull.
Lifted e non lifted
Se il metodo di implementazione non nullè :
Se
expression. Il tipo è assegnabile al tipo di argomento del metodo di implementazione e il tipo restituito del metodo di implementazione è assegnabile atype, il nodo non viene sollevato.Se uno o entrambi i tipi di
expression. Tipo otypesono un tipo valore nullable e i tipi valore non nullable corrispondenti sono uguali al tipo di argomento e al tipo restituito del metodo di implementazione, il nodo viene sollevato.
Se il metodo di implementazione è null:
Se entrambi
expression. Tipo etypenon nullable, il nodo non viene sollevato.In caso contrario, il nodo viene sollevato.
Si applica a
ConvertChecked(Expression, Type, MethodInfo)
- Origine:
- UnaryExpression.cs
- Origine:
- UnaryExpression.cs
- Origine:
- UnaryExpression.cs
Crea un oggetto UnaryExpression che rappresenta un'operazione di conversione che genera un'eccezione in caso di overflow del tipo di destinazione e per la quale è specificato il metodo di implementazione.
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
Parametri
- expression
- Expression
Oggetto Expression su cui impostare la proprietà Operand.
- method
- MethodInfo
Oggetto MethodInfo su cui impostare la proprietà Method.
Restituisce
Oggetto UnaryExpression la cui proprietà NodeType è uguale a ConvertChecked e le cui proprietà Operand, Type e Method sono impostate sui valori specificati.
Eccezioni
expression o type è null.
method non è null e il metodo che rappresenta restituisce void, non è static (Shared in Visual Basic) o non accetta esattamente un argomento.
Nessun operatore di conversione è definito tra expression.Type e type.
-oppure-
expression.Type non è assegnabile al tipo di argomento del metodo rappresentato da method.
-oppure-
Il tipo restituito del metodo rappresentato da method non è assegnabile a type.
-oppure-
expression.Type o type è un tipo valore nullable e il tipo valore non nullable corrispondente è diverso dal tipo di argomento o dal tipo restituito, rispettivamente, del metodo rappresentato da method.
È stato trovato più di un metodo che corrisponde alla descrizione di method.
Commenti
La Method proprietà dell'oggetto risultante UnaryExpression viene impostata sul metodo di implementazione. La proprietà IsLiftedToNull è false. Se il nodo viene sollevato, IsLifted è true. In caso contrario, è false.
Metodo di implementazione
Le regole seguenti determinano il metodo di implementazione per l'operazione:
Se il metodo non
nullè , è il metodo di implementazione. Deve rappresentare un metodo non void,static(Sharedin Visual Basic) che accetta un argomento.In caso contrario, se uno dei due .
expressionTipo otypeè un tipo definito dall'utente che definisce un operatore di conversione implicito o esplicito, MethodInfo che rappresenta tale operatore è il metodo di implementazione.In caso contrario:
Se entrambi
expression. Digitare etyperappresentare tipi numerici o booleani oppure tipi di enumerazione nullable o non nullable, il metodo di implementazione ènull.Se uno dei due .
expressionIl tipo otypeè un tipo riferimento e una conversione boxing, unboxing o riferimento esplicita esiste daexpression. Digitare in , il metodo di implementazionetypeènull.
Lifted e non lifted
Se il metodo di implementazione non nullè :
Se
expression. Il tipo è assegnabile al tipo di argomento del metodo di implementazione e il tipo restituito del metodo di implementazione è assegnabile atype, il nodo non viene sollevato.Se uno o entrambi i tipi di
expression. Tipo otypesono un tipo valore nullable e i tipi valore non nullable corrispondenti sono uguali al tipo di argomento e al tipo restituito del metodo di implementazione, il nodo viene sollevato.
Se il metodo di implementazione è null:
Se entrambi
expression. Tipo etypenon nullable, il nodo non viene sollevato.In caso contrario, il nodo viene sollevato.