Expression.New Metodo

Definizione

Crea un oggetto NewExpression.

Overload

New(ConstructorInfo)

Crea un oggetto NewExpression che rappresenta la chiamata al costruttore specificato che non accetta argomenti.

New(Type)

Crea un oggetto NewExpression che rappresenta la chiamata al costruttore senza parametri del tipo specificato.

New(ConstructorInfo, IEnumerable<Expression>)

Crea un oggetto NewExpression che rappresenta la chiamata al costruttore specificato con gli argomenti specificati.

New(ConstructorInfo, Expression[])

Crea un oggetto NewExpression che rappresenta la chiamata al costruttore specificato con gli argomenti specificati.

New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)

Crea un oggetto NewExpression che rappresenta la chiamata al costruttore specificato con gli argomenti specificati. I membri che accedono ai campi inizializzati del costruttore sono specificati.

New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])

Crea un oggetto NewExpression che rappresenta la chiamata al costruttore specificato con gli argomenti specificati. I membri che accedono ai campi inizializzati del costruttore sono specificati come matrice.

New(ConstructorInfo)

Origine:
NewExpression.cs
Origine:
NewExpression.cs
Origine:
NewExpression.cs

Crea un oggetto 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

Oggetto ConstructorInfo su cui impostare la proprietà Constructor.

Restituisce

Oggetto NewExpression la cui proprietà NodeType è uguale a New e la cui proprietà Constructor è impostata sul valore specificato.

Eccezioni

constructor è null.

Il costruttore che constructor rappresenta ha almeno un parametro.

Commenti

Le Arguments proprietà e Members dell'oggetto risultante NewExpression sono raccolte vuote. La Type proprietà 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 oggetto 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 la cui proprietà NodeType è uguale a New e la cui proprietà Constructor è impostata su 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 New(Type) metodo per creare un NewExpression oggetto 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 type parametro deve rappresentare un tipo con un costruttore senza parametri.

Le Arguments proprietà e Members dell'oggetto risultante NewExpression sono raccolte vuote. La Type proprietà è uguale a type.

Si applica a

New(ConstructorInfo, IEnumerable<Expression>)

Origine:
NewExpression.cs
Origine:
NewExpression.cs
Origine:
NewExpression.cs

Crea un oggetto 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

Oggetto ConstructorInfo su cui impostare la proprietà Constructor.

arguments
IEnumerable<Expression>

Oggetto IEnumerable<T> contenente gli oggetti Expression da usare per popolare la raccolta Arguments.

Restituisce

Oggetto NewExpression la cui proprietà NodeType è uguale a New e le cui proprietà Constructor e Arguments sono impostate sui valori specificati.

Eccezioni

constructor è null.

-oppure-

Un elemento di arguments è null.

Il numero di elementi in arguments è diverso dal numero di parametri per il costruttore rappresentato da constructor.

-oppure-

La proprietà Type di un elemento di arguments non può essere assegnata al tipo del parametro corrispondente del costruttore rappresentato da constructor.

Commenti

Il arguments parametro 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 Arguments proprietà dell'oggetto risultante NewExpression è una raccolta vuota.

La Type proprietà dell'oggetto risultante NewExpression rappresenta il tipo dichiarante del costruttore rappresentato da constructor. La Members proprietà è una raccolta vuota.

Si applica a

New(ConstructorInfo, Expression[])

Origine:
NewExpression.cs
Origine:
NewExpression.cs
Origine:
NewExpression.cs

Crea un oggetto 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

Oggetto ConstructorInfo su cui impostare la proprietà Constructor.

arguments
Expression[]

Matrice di oggetti Expression da usare per popolare la raccolta Arguments.

Restituisce

Oggetto NewExpression la cui proprietà NodeType è uguale a New e le cui proprietà Constructor e Arguments sono impostate sui valori specificati.

Eccezioni

constructor è null.

-oppure-

Un elemento di arguments è null.

La lunghezza di arguments corrisponde al numero di parametri per il costruttore rappresentato da constructor.

-oppure-

La proprietà Type di un elemento di arguments non può essere assegnata al tipo del parametro corrispondente del costruttore rappresentato da constructor.

Commenti

Il arguments parametro 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 Arguments proprietà dell'oggetto risultante NewExpression è una raccolta vuota.

La Type proprietà dell'oggetto risultante NewExpression rappresenta il tipo dichiarante del costruttore rappresentato da constructor. La Members proprietà è una raccolta vuota.

Si applica a

New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)

Origine:
NewExpression.cs
Origine:
NewExpression.cs
Origine:
NewExpression.cs

Crea un oggetto NewExpression che rappresenta la chiamata al costruttore specificato con gli argomenti specificati. I membri che accedono ai campi inizializzati del costruttore sono specificati.

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

Oggetto ConstructorInfo su cui impostare la proprietà Constructor.

arguments
IEnumerable<Expression>

Oggetto IEnumerable<T> contenente gli oggetti Expression da usare per popolare la raccolta Arguments.

members
IEnumerable<MemberInfo>

Oggetto IEnumerable<T> contenente gli oggetti MemberInfo da usare per popolare la raccolta Members.

Restituisce

Oggetto NewExpression la cui proprietà NodeType è uguale a New e le cui proprietà Constructor, Arguments e Members sono impostate sui valori specificati.

Eccezioni

constructor è null.

-oppure-

Un elemento di arguments è null.

-oppure-

Un elemento di members è null.

Il numero di elementi in arguments è diverso dal numero di parametri per il costruttore rappresentato da constructor.

-oppure-

La proprietà Type di un elemento di arguments non può essere assegnata al tipo del parametro corrispondente del costruttore rappresentato da constructor.

-oppure-

Il numero di elementi nel parametro members è diverso da quello in arguments.

-oppure-

La proprietà Type di un elemento di arguments rappresenta un tipo non assegnabile al tipo del membro rappresentato dall'elemento corrispondente di members.

Commenti

Il arguments parametro 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 Arguments proprietà dell'oggetto risultante NewExpression è una raccolta vuota.

Se members è null, la Members proprietà dell'oggetto risultante NewExpression è una raccolta vuota. Se members non nullè , deve avere lo stesso numero di elementi arguments di e ogni elemento non deve essere null. Ogni elemento di deve essere un PropertyInfoFieldInfo oggetto o MethodInfo che rappresenta un membro dell'istanza members nel tipo dichiarante del costruttore rappresentato da constructor. Se rappresenta una proprietà, la proprietà deve avere una get funzione di accesso. L'elemento corrispondente di arguments per ogni elemento di members deve avere una Type proprietà che rappresenta un tipo assegnabile al tipo del membro rappresentato dall'elemento members .

La Type proprietà dell'oggetto risultante NewExpression rappresenta il tipo dichiarante del costruttore rappresentato constructor .

Si applica a

New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])

Origine:
NewExpression.cs
Origine:
NewExpression.cs
Origine:
NewExpression.cs

Crea un oggetto NewExpression che rappresenta la chiamata al costruttore specificato con gli argomenti specificati. I membri che accedono ai campi inizializzati del costruttore sono 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

Oggetto ConstructorInfo su cui impostare la proprietà Constructor.

arguments
IEnumerable<Expression>

Oggetto IEnumerable<T> contenente gli oggetti Expression da usare per popolare la raccolta Arguments.

members
MemberInfo[]

Matrice di oggetti MemberInfo da usare per popolare la raccolta Members.

Restituisce

Oggetto NewExpression la cui proprietà NodeType è uguale a New e le cui proprietà Constructor, Arguments e Members sono impostate sui valori specificati.

Eccezioni

constructor è null.

-oppure-

Un elemento di arguments è null.

-oppure-

Un elemento di members è null.

Il numero di elementi in arguments è diverso dal numero di parametri per il costruttore rappresentato da constructor.

-oppure-

La proprietà Type di un elemento di arguments non può essere assegnata al tipo del parametro corrispondente del costruttore rappresentato da constructor.

-oppure-

Il numero di elementi nel parametro members è diverso da quello in arguments.

-oppure-

La proprietà Type di un elemento di arguments rappresenta un tipo non assegnabile al tipo del membro rappresentato dall'elemento corrispondente di members.

Commenti

Il arguments parametro 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 Arguments proprietà dell'oggetto risultante NewExpression è una raccolta vuota.

Se members è null, la Members proprietà dell'oggetto risultante NewExpression è una raccolta vuota. Se members non nullè , deve avere lo stesso numero di elementi arguments di e ogni elemento non deve essere null. Ogni elemento di deve essere un PropertyInfoFieldInfo oggetto o MethodInfo che rappresenta un membro dell'istanza members 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 Type proprietà che rappresenta un tipo assegnabile al tipo del membro rappresentato dall'elemento members .

La Type proprietà dell'oggetto risultante NewExpression rappresenta il tipo dichiarante del costruttore rappresentato constructor .

Si applica a