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 .
expression
Tipo 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 etype
rappresentare tipi numerici o booleani oppure tipi di enumerazione nullable o non nullable, il metodo di implementazione ènull
.Se uno dei due .
expression
Il 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 otype
sono 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 etype
non 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
(Shared
in Visual Basic) che accetta un argomento.In caso contrario, se uno dei due .
expression
Tipo 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 etype
rappresentare tipi numerici o booleani oppure tipi di enumerazione nullable o non nullable, il metodo di implementazione ènull
.Se uno dei due .
expression
Il 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 otype
sono 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 etype
non nullable, il nodo non viene sollevato.In caso contrario, il nodo viene sollevato.