Expression.New 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 NewExpression.
Overload
New(ConstructorInfo) |
Crea un NewExpression che rappresenta la chiamata al costruttore specificato che non accetta argomenti. |
New(Type) |
Crea un NewExpression che rappresenta la chiamata al costruttore senza parametri del tipo specificato. |
New(ConstructorInfo, IEnumerable<Expression>) |
Crea un NewExpression che rappresenta la chiamata al costruttore specificato con gli argomenti specificati. |
New(ConstructorInfo, Expression[]) |
Crea un NewExpression che rappresenta la chiamata al costruttore specificato con gli argomenti specificati. |
New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>) |
Crea un NewExpression che rappresenta la chiamata al costruttore specificato con gli argomenti specificati. Vengono specificati i membri che accedono ai campi inizializzati del costruttore. |
New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) |
Crea un NewExpression che rappresenta la chiamata al costruttore specificato con gli argomenti specificati. I membri che accedono ai campi inizializzati del costruttore vengono specificati come matrice. |
New(ConstructorInfo)
- Origine:
- NewExpression.cs
- Origine:
- NewExpression.cs
- Origine:
- NewExpression.cs
Crea un NewExpression che rappresenta la chiamata al costruttore specificato che non accetta argomenti.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor);
static member New : System.Reflection.ConstructorInfo -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo) As NewExpression
Parametri
- constructor
- ConstructorInfo
ConstructorInfo impostare la proprietà Constructor su .
Restituisce
Oggetto NewExpression con la proprietà NodeType uguale a New e la proprietà Constructor impostata sul valore specificato.
Eccezioni
constructor
è null
.
Il costruttore rappresentato da constructor
ha almeno un parametro.
Commenti
Le proprietà Arguments e Members dei NewExpression risultanti sono raccolte vuote. La proprietà Type rappresenta il tipo dichiarante del costruttore rappresentato da constructor
.
Si applica a
New(Type)
- Origine:
- NewExpression.cs
- Origine:
- NewExpression.cs
- Origine:
- NewExpression.cs
Crea un NewExpression che rappresenta la chiamata al costruttore senza parametri del tipo specificato.
public:
static System::Linq::Expressions::NewExpression ^ New(Type ^ type);
public static System.Linq.Expressions.NewExpression New (Type type);
static member New : Type -> System.Linq.Expressions.NewExpression
Public Shared Function New (type As Type) As NewExpression
Parametri
Restituisce
Oggetto NewExpression con la proprietà NodeType uguale a New e la proprietà Constructor impostata sul ConstructorInfo che rappresenta il costruttore senza parametri per il tipo specificato.
Eccezioni
type
è null
.
Il tipo rappresentato da type
non dispone di un costruttore senza parametri.
Esempio
Nell'esempio seguente viene illustrato come utilizzare il metodo New(Type) per creare un NewExpression che rappresenta la costruzione di una nuova istanza di un oggetto dizionario chiamando il costruttore senza parametri.
// Create a NewExpression that represents constructing
// a new instance of Dictionary<int, string>.
System.Linq.Expressions.NewExpression newDictionaryExpression =
System.Linq.Expressions.Expression.New(typeof(Dictionary<int, string>));
Console.WriteLine(newDictionaryExpression.ToString());
// This code produces the following output:
//
// new Dictionary`2()
' Create a NewExpression that represents constructing
' a new instance of Dictionary(Of Integer, String).
Dim newDictionaryExpression As System.Linq.Expressions.NewExpression = _
System.Linq.Expressions.Expression.[New]( _
Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]"))
Console.WriteLine(newDictionaryExpression.ToString())
' This code produces the following output:
'
' new Dictionary`2()
Commenti
Il parametro type
deve rappresentare un tipo con un costruttore senza parametri.
Le proprietà Arguments e Members dei NewExpression risultanti sono raccolte vuote. La proprietà Type è uguale a type
.
Si applica a
New(ConstructorInfo, IEnumerable<Expression>)
- Origine:
- NewExpression.cs
- Origine:
- NewExpression.cs
- Origine:
- NewExpression.cs
Crea un NewExpression che rappresenta la chiamata al costruttore specificato con gli argomenti specificati.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression)) As NewExpression
Parametri
- constructor
- ConstructorInfo
ConstructorInfo impostare la proprietà Constructor su .
- arguments
- IEnumerable<Expression>
IEnumerable<T> che contiene oggetti Expression da utilizzare per popolare l'insieme Arguments.
Restituisce
Un NewExpression con la proprietà NodeType uguale a New e le proprietà Constructor e Arguments impostate sui valori specificati.
Eccezioni
Il parametro arguments
non contiene lo stesso numero di elementi del numero di parametri per il costruttore rappresentato da constructor
.
-o-
La proprietà Type di un elemento di arguments
non è assegnabile al tipo del parametro corrispondente del costruttore rappresentato da constructor
.
Commenti
Il parametro arguments
deve contenere lo stesso numero di elementi del numero di parametri per il costruttore rappresentato da constructor
. Se arguments
è null
, viene considerato vuoto e la proprietà Arguments dell'NewExpression risultante è una raccolta vuota.
La proprietà Type del NewExpression risultante rappresenta il tipo dichiarante del costruttore rappresentato da constructor
. La proprietà Members è un insieme vuoto.
Si applica a
New(ConstructorInfo, Expression[])
- Origine:
- NewExpression.cs
- Origine:
- NewExpression.cs
- Origine:
- NewExpression.cs
Crea un NewExpression che rappresenta la chiamata al costruttore specificato con gli argomenti specificati.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, params System.Linq.Expressions.Expression[] arguments);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, params System.Linq.Expressions.Expression[]? arguments);
static member New : System.Reflection.ConstructorInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, ParamArray arguments As Expression()) As NewExpression
Parametri
- constructor
- ConstructorInfo
ConstructorInfo impostare la proprietà Constructor su .
- arguments
- Expression[]
Matrice di oggetti Expression da utilizzare per popolare l'insieme Arguments.
Restituisce
Un NewExpression con la proprietà NodeType uguale a New e le proprietà Constructor e Arguments impostate sui valori specificati.
Eccezioni
La lunghezza di arguments
corrisponde al numero di parametri per il costruttore rappresentato da constructor
.
-o-
La proprietà Type di un elemento di arguments
non è assegnabile al tipo del parametro corrispondente del costruttore rappresentato da constructor
.
Commenti
Il parametro arguments
deve contenere lo stesso numero di elementi del numero di parametri per il costruttore rappresentato da constructor
. Se arguments
è null
, viene considerato vuoto e la proprietà Arguments dell'NewExpression risultante è una raccolta vuota.
La proprietà Type del NewExpression risultante rappresenta il tipo dichiarante del costruttore rappresentato da constructor
. La proprietà Members è un insieme vuoto.
Si applica a
New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)
- Origine:
- NewExpression.cs
- Origine:
- NewExpression.cs
- Origine:
- NewExpression.cs
Crea un NewExpression che rappresenta la chiamata al costruttore specificato con gli argomenti specificati. Vengono specificati i membri che accedono ai campi inizializzati del costruttore.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments, System::Collections::Generic::IEnumerable<System::Reflection::MemberInfo ^> ^ members);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments, System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo> members);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments, System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo>? members);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> * seq<System.Reflection.MemberInfo> -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression), members As IEnumerable(Of MemberInfo)) As NewExpression
Parametri
- constructor
- ConstructorInfo
ConstructorInfo impostare la proprietà Constructor su .
- arguments
- IEnumerable<Expression>
IEnumerable<T> che contiene oggetti Expression da utilizzare per popolare l'insieme Arguments.
- members
- IEnumerable<MemberInfo>
IEnumerable<T> che contiene oggetti MemberInfo da utilizzare per popolare l'insieme Members.
Restituisce
Un NewExpression con la proprietà NodeType uguale a New e le proprietà Constructor, Arguments e Members impostate sui valori specificati.
Eccezioni
constructor
è null
.
-o-
Un elemento di arguments
è null
.
-o-
Un elemento di members
è null
.
Il parametro arguments
non contiene lo stesso numero di elementi del numero di parametri per il costruttore rappresentato da constructor
.
-o-
La proprietà Type di un elemento di arguments
non è assegnabile al tipo del parametro corrispondente del costruttore rappresentato da constructor
.
-o-
Il parametro members
non ha lo stesso numero di elementi di arguments
.
-o-
Un elemento di arguments
dispone di una proprietà Type che rappresenta un tipo che non è assegnabile al tipo del membro rappresentato dall'elemento corrispondente di members
.
Commenti
Il parametro arguments
deve contenere lo stesso numero di elementi del numero di parametri per il costruttore rappresentato da constructor
. Se arguments
è null
, viene considerato vuoto e la proprietà Arguments dell'NewExpression risultante è una raccolta vuota.
Se members
è null
, la proprietà Members del NewExpression risultante è una raccolta vuota. Se members
non è null
, deve avere lo stesso numero di elementi di arguments
e ogni elemento non deve essere null
. Ogni elemento di members
deve essere un PropertyInfo, FieldInfo o MethodInfo che rappresenta un membro dell'istanza nel tipo dichiarante del costruttore rappresentato da constructor
. Se rappresenta una proprietà, la proprietà deve avere una funzione di accesso get
. L'elemento corrispondente di arguments
per ogni elemento di members
deve avere una proprietà Type che rappresenta un tipo assegnabile al tipo del membro rappresentato dall'elemento members
.
La proprietà Type del NewExpression risultante rappresenta il tipo dichiarante del costruttore rappresentato da constructor
.
Si applica a
New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])
- Origine:
- NewExpression.cs
- Origine:
- NewExpression.cs
- Origine:
- NewExpression.cs
Crea un NewExpression che rappresenta la chiamata al costruttore specificato con gli argomenti specificati. I membri che accedono ai campi inizializzati del costruttore vengono specificati come matrice.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments, ... cli::array <System::Reflection::MemberInfo ^> ^ members);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments, params System.Reflection.MemberInfo[] members);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments, params System.Reflection.MemberInfo[]? members);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> * System.Reflection.MemberInfo[] -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression), ParamArray members As MemberInfo()) As NewExpression
Parametri
- constructor
- ConstructorInfo
ConstructorInfo impostare la proprietà Constructor su .
- arguments
- IEnumerable<Expression>
IEnumerable<T> che contiene oggetti Expression da utilizzare per popolare l'insieme Arguments.
- members
- MemberInfo[]
Matrice di oggetti MemberInfo da utilizzare per popolare l'insieme Members.
Restituisce
Un NewExpression con la proprietà NodeType uguale a New e le proprietà Constructor, Arguments e Members impostate sui valori specificati.
Eccezioni
constructor
è null
.
-o-
Un elemento di arguments
è null
.
-o-
Un elemento di members
è null
.
Il parametro arguments
non contiene lo stesso numero di elementi del numero di parametri per il costruttore rappresentato da constructor
.
-o-
La proprietà Type di un elemento di arguments
non è assegnabile al tipo del parametro corrispondente del costruttore rappresentato da constructor
.
-o-
Il parametro members
non ha lo stesso numero di elementi di arguments
.
-o-
Un elemento di arguments
dispone di una proprietà Type che rappresenta un tipo che non è assegnabile al tipo del membro rappresentato dall'elemento corrispondente di members
.
Commenti
Il parametro arguments
deve contenere lo stesso numero di elementi del numero di parametri per il costruttore rappresentato da constructor
. Se arguments
è null
, viene considerato vuoto e la proprietà Arguments dell'NewExpression risultante è una raccolta vuota.
Se members
è null
, la proprietà Members del NewExpression risultante è una raccolta vuota. Se members
non è null
, deve avere lo stesso numero di elementi di arguments
e ogni elemento non deve essere null
. Ogni elemento di members
deve essere un PropertyInfo, FieldInfo o MethodInfo che rappresenta un membro dell'istanza nel tipo dichiarante del costruttore rappresentato da constructor
. Se rappresenta una proprietà, la proprietà deve essere in grado di recuperare il valore del campo associato. L'elemento corrispondente di arguments
per ogni elemento di members
deve avere una proprietà Type che rappresenta un tipo assegnabile al tipo del membro rappresentato dall'elemento members
.
La proprietà Type del NewExpression risultante rappresenta il tipo dichiarante del costruttore rappresentato da constructor
.