Condividi tramite


Expression.New Metodo

Definizione

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

type
Type

Oggetto Type con un costruttore che non accetta argomenti.

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

constructor è null.

-o-

Un elemento di arguments è 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.

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

constructor è null.

-o-

Un elemento di arguments è null.

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.

Si applica a