Expression.New Méthode

Définition

Crée un NewExpression.Creates a NewExpression.

Surcharges

New(ConstructorInfo)

Crée un NewExpression qui représente l'appel du constructeur spécifié qui ne prend pas d'arguments.Creates a NewExpression that represents calling the specified constructor that takes no arguments.

New(Type)

Crée un NewExpression qui représente l'appel du constructeur sans paramètre du type spécifié.Creates a NewExpression that represents calling the parameterless constructor of the specified type.

New(ConstructorInfo, IEnumerable<Expression>)

Crée un NewExpression qui représente l'appel du constructeur spécifié avec les arguments spécifiés.Creates a NewExpression that represents calling the specified constructor with the specified arguments.

New(ConstructorInfo, Expression[])

Crée un NewExpression qui représente l'appel du constructeur spécifié avec les arguments spécifiés.Creates a NewExpression that represents calling the specified constructor with the specified arguments.

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

Crée un NewExpression qui représente l'appel du constructeur spécifié avec les arguments spécifiés.Creates a NewExpression that represents calling the specified constructor with the specified arguments. Les membres qui accèdent aux champs initialisés du constructeur sont spécifiés.The members that access the constructor initialized fields are specified.

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

Crée un NewExpression qui représente l'appel du constructeur spécifié avec les arguments spécifiés.Creates a NewExpression that represents calling the specified constructor with the specified arguments. Les membres qui accèdent aux champs initialisés du constructeur sont spécifiés sous forme de tableau.The members that access the constructor initialized fields are specified as an array.

New(ConstructorInfo)

Crée un NewExpression qui représente l'appel du constructeur spécifié qui ne prend pas d'arguments.Creates a NewExpression that represents calling the specified constructor that takes no arguments.

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

Paramètres

constructor
ConstructorInfo

ConstructorInfo auquel la propriété Constructor doit être égale.The ConstructorInfo to set the Constructor property equal to.

Retours

NewExpression dont la propriété NodeType est égale à New et dont la propriété Constructor a la valeur spécifiée.A NewExpression that has the NodeType property equal to New and the Constructor property set to the specified value.

Exceptions

constructor est null.constructor is null.

Le constructeur représenté par constructor a au moins un paramètre.The constructor that constructor represents has at least one parameter.

Remarques

Les Arguments propriétés Members et du résultant NewExpression sont des collections vides.The Arguments and Members properties of the resulting NewExpression are empty collections. La Type propriété représente le type de déclaration du constructeur représenté par constructor.The Type property represents the declaring type of the constructor represented by constructor.

New(Type)

Crée un NewExpression qui représente l'appel du constructeur sans paramètre du type spécifié.Creates a NewExpression that represents calling the parameterless constructor of the specified type.

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

Paramètres

type
Type

Type ayant un constructeur qui ne prend pas d'arguments.A Type that has a constructor that takes no arguments.

Retours

NewExpression dont la propriété NodeType est égale à New et la propriété Constructor égale à ConstructorInfo, laquelle représente le constructeur sans paramètre pour le type spécifié.A NewExpression that has the NodeType property equal to New and the Constructor property set to the ConstructorInfo that represents the constructor without parameters for the specified type.

Exceptions

type a la valeur null.type is null.

Le type représenté par type n'a pas de constructeur sans paramètres.The type that type represents does not have a constructor without parameters.

Exemples

L’exemple suivant montre comment utiliser la New(Type) méthode pour créer un NewExpression qui représente la construction d’une nouvelle instance d’un objet de dictionnaire en appelant le constructeur sans paramètres.The following example demonstrates how to use the New(Type) method to create a NewExpression that represents constructing a new instance of a dictionary object by calling the constructor without parameters.

// 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()

Remarques

Le type paramètre doit représenter un type qui a un constructeur sans paramètres.The type parameter must represent a type that has a constructor without parameters.

Les Arguments propriétés Members et du résultant NewExpression sont des collections vides.The Arguments and Members properties of the resulting NewExpression are empty collections. La Type propriété est égale à type.The Type property is equal to type.

New(ConstructorInfo, IEnumerable<Expression>)

Crée un NewExpression qui représente l'appel du constructeur spécifié avec les arguments spécifiés.Creates a NewExpression that represents calling the specified constructor with the specified 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

Paramètres

constructor
ConstructorInfo

ConstructorInfo auquel la propriété Constructor doit être égale.The ConstructorInfo to set the Constructor property equal to.

arguments
IEnumerable<Expression>

IEnumerable<T> qui contient des objets Expression à utiliser pour remplir la collection Arguments.An IEnumerable<T> that contains Expression objects to use to populate the Arguments collection.

Retours

NewExpression dont la propriété NodeType est égale à New et dont les propriétés Constructor et Arguments ont les valeurs spécifiées.A NewExpression that has the NodeType property equal to New and the Constructor and Arguments properties set to the specified values.

Exceptions

constructor a la valeur null.constructor is null.

- ou --or- Un élément de arguments est null.An element of arguments is null.

Le paramètre arguments ne contient pas le même nombre d'éléments que le nombre de paramètres pour le constructeur représenté par constructor.The arguments parameter does not contain the same number of elements as the number of parameters for the constructor that constructor represents.

ou-or- La propriété Type d’un élément de arguments n’est pas attribuable au type du paramètre correspondant du constructeur que constructor représente.The Type property of an element of arguments is not assignable to the type of the corresponding parameter of the constructor that constructor represents.

Remarques

Le arguments paramètre doit contenir le même nombre d’éléments que le nombre de paramètres pour le constructeur représenté par constructor.The arguments parameter must contain the same number of elements as the number of parameters for the constructor represented by constructor. Si arguments Arguments NewExpression est null, il est considéré comme vide et la propriété du résultant est une collection vide.If arguments is null, it is considered empty, and the Arguments property of the resulting NewExpression is an empty collection.

La Type propriété du résultant NewExpression représente le type de déclaration du constructeur représenté par constructor.The Type property of the resulting NewExpression represents the declaring type of the constructor represented by constructor. La Members propriété est une collection vide.The Members property is an empty collection.

New(ConstructorInfo, Expression[])

Crée un NewExpression qui représente l'appel du constructeur spécifié avec les arguments spécifiés.Creates a NewExpression that represents calling the specified constructor with the specified arguments.

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);
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

Paramètres

constructor
ConstructorInfo

ConstructorInfo auquel la propriété Constructor doit être égale.The ConstructorInfo to set the Constructor property equal to.

arguments
Expression[]

Tableau d'objets Expression à utiliser pour remplir la collection Arguments.An array of Expression objects to use to populate the Arguments collection.

Retours

NewExpression dont la propriété NodeType est égale à New et dont les propriétés Constructor et Arguments ont les valeurs spécifiées.A NewExpression that has the NodeType property equal to New and the Constructor and Arguments properties set to the specified values.

Exceptions

constructor a la valeur null.constructor is null.

- ou --or- Un élément de arguments est null.An element of arguments is null.

La longueur de arguments correspond au nombre de paramètres du constructeur que constructor représente.The length of arguments does match the number of parameters for the constructor that constructor represents.

- ou --or- La propriété Type d’un élément de arguments n’est pas attribuable au type du paramètre correspondant du constructeur que constructor représente.The Type property of an element of arguments is not assignable to the type of the corresponding parameter of the constructor that constructor represents.

Remarques

Le arguments paramètre doit contenir le même nombre d’éléments que le nombre de paramètres pour le constructeur représenté par constructor.The arguments parameter must contain the same number of elements as the number of parameters for the constructor represented by constructor. Si arguments Arguments NewExpression est null, il est considéré comme vide et la propriété du résultant est une collection vide.If arguments is null, it is considered empty, and the Arguments property of the resulting NewExpression is an empty collection.

La Type propriété du résultant NewExpression représente le type de déclaration du constructeur représenté par constructor.The Type property of the resulting NewExpression represents the declaring type of the constructor represented by constructor. La Members propriété est une collection vide.The Members property is an empty collection.

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

Crée un NewExpression qui représente l'appel du constructeur spécifié avec les arguments spécifiés.Creates a NewExpression that represents calling the specified constructor with the specified arguments. Les membres qui accèdent aux champs initialisés du constructeur sont spécifiés.The members that access the constructor initialized fields are specified.

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

Paramètres

constructor
ConstructorInfo

ConstructorInfo auquel la propriété Constructor doit être égale.The ConstructorInfo to set the Constructor property equal to.

arguments
IEnumerable<Expression>

IEnumerable<T> qui contient des objets Expression à utiliser pour remplir la collection Arguments.An IEnumerable<T> that contains Expression objects to use to populate the Arguments collection.

members
IEnumerable<MemberInfo>

IEnumerable<T> qui contient des objets MemberInfo à utiliser pour remplir la collection Members.An IEnumerable<T> that contains MemberInfo objects to use to populate the Members collection.

Retours

NewExpression dont la propriété NodeType est égale à New et dont les propriétés Constructor, Arguments et Members ont les valeurs spécifiées.A NewExpression that has the NodeType property equal to New and the Constructor, Arguments and Members properties set to the specified values.

Exceptions

constructor est null.constructor is null.

- ou --or- Un élément de arguments est null.An element of arguments is null.

ou-or- Un élément de members est null.An element of members is null.

Le paramètre arguments ne contient pas le même nombre d'éléments que le nombre de paramètres pour le constructeur représenté par constructor.The arguments parameter does not contain the same number of elements as the number of parameters for the constructor that constructor represents.

ou-or- La propriété Type d’un élément de arguments n’est pas attribuable au type du paramètre correspondant du constructeur que constructor représente.The Type property of an element of arguments is not assignable to the type of the corresponding parameter of the constructor that constructor represents.

- ou --or- Le paramètre members n'a pas le même nombre d'éléments que le paramètre arguments.The members parameter does not have the same number of elements as arguments.

ou-or- Un élément du paramètre arguments a une propriété Type qui représente un type qui ne peut pas être assigné au type du membre représenté par l'élément correspondant du paramètre members.An element of arguments has a Type property that represents a type that is not assignable to the type of the member that is represented by the corresponding element of members.

Remarques

Le arguments paramètre doit contenir le même nombre d’éléments que le nombre de paramètres pour le constructeur représenté par constructor.The arguments parameter must contain the same number of elements as the number of parameters for the constructor represented by constructor. Si arguments Arguments NewExpression est null, il est considéré comme vide et la propriété du résultant est une collection vide.If arguments is null, it is considered empty, and the Arguments property of the resulting NewExpression is an empty collection.

Si members est null, NewExpression la Members propriété du résultant est une collection vide.If members is null, the Members property of the resulting NewExpression is an empty collection. Si members n’a nullpas la valeur, il doit avoir le même nombre arguments d’éléments que et chaque élément nullne doit pas être.If members is not null, it must have the same number of elements as arguments and each element must not be null. Chaque élément de members doit être FieldInfo un PropertyInfoou MethodInfo qui représente un membre d’instance sur le type déclarant du constructeur représenté par constructor.Each element of members must be a PropertyInfo, FieldInfo or MethodInfo that represents an instance member on the declaring type of the constructor represented by constructor. S’il représente une propriété, la propriété doit avoir un get accesseur.If it represents a property, the property must have a get accessor. L’élément correspondant de arguments pour chaque élément de members doit avoir une Type propriété qui représente un type qui peut être assigné au type du membre représenté par l' members élément.The corresponding element of arguments for each element of members must have a Type property that represents a type that is assignable to the type of the member that the members element represents.

La Type propriété du résultant NewExpression représente le type de déclaration du constructeur que constructor représente.The Type property of the resulting NewExpression represents the declaring type of the constructor that constructor represents.

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

Crée un NewExpression qui représente l'appel du constructeur spécifié avec les arguments spécifiés.Creates a NewExpression that represents calling the specified constructor with the specified arguments. Les membres qui accèdent aux champs initialisés du constructeur sont spécifiés sous forme de tableau.The members that access the constructor initialized fields are specified as an array.

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);
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

Paramètres

constructor
ConstructorInfo

ConstructorInfo auquel la propriété Constructor doit être égale.The ConstructorInfo to set the Constructor property equal to.

arguments
IEnumerable<Expression>

IEnumerable<T> qui contient des objets Expression à utiliser pour remplir la collection Arguments.An IEnumerable<T> that contains Expression objects to use to populate the Arguments collection.

members
MemberInfo[]

Tableau d'objets MemberInfo à utiliser pour remplir la collection Members.An array of MemberInfo objects to use to populate the Members collection.

Retours

NewExpression dont la propriété NodeType est égale à New et dont les propriétés Constructor, Arguments et Members ont les valeurs spécifiées.A NewExpression that has the NodeType property equal to New and the Constructor, Arguments and Members properties set to the specified values.

Exceptions

constructor a la valeur null.constructor is null.

ou-or- Un élément de arguments est null.An element of arguments is null.

ou-or- Un élément de members est null.An element of members is null.

Le paramètre arguments ne contient pas le même nombre d'éléments que le nombre de paramètres pour le constructeur représenté par constructor.The arguments parameter does not contain the same number of elements as the number of parameters for the constructor that constructor represents.

- ou --or- La propriété Type d’un élément de arguments n’est pas attribuable au type du paramètre correspondant du constructeur que constructor représente.The Type property of an element of arguments is not assignable to the type of the corresponding parameter of the constructor that constructor represents.

- ou --or- Le paramètre members n'a pas le même nombre d'éléments que le paramètre arguments.The members parameter does not have the same number of elements as arguments.

ou-or- Un élément du paramètre arguments a une propriété Type qui représente un type qui ne peut pas être assigné au type du membre représenté par l'élément correspondant du paramètre members.An element of arguments has a Type property that represents a type that is not assignable to the type of the member that is represented by the corresponding element of members.

Remarques

Le arguments paramètre doit contenir le même nombre d’éléments que le nombre de paramètres pour le constructeur représenté par constructor.The arguments parameter must contain the same number of elements as the number of parameters for the constructor represented by constructor. Si arguments Arguments NewExpression est null, il est considéré comme vide et la propriété du résultant est une collection vide.If arguments is null, it is considered empty, and the Arguments property of the resulting NewExpression is an empty collection.

Si members est null, NewExpression la Members propriété du résultant est une collection vide.If members is null, the Members property of the resulting NewExpression is an empty collection. Si members n’a nullpas la valeur, il doit avoir le même nombre arguments d’éléments que et chaque élément nullne doit pas être.If members is not null, it must have the same number of elements as arguments and each element must not be null. Chaque élément de members doit être FieldInfo un PropertyInfoou MethodInfo qui représente un membre d’instance sur le type déclarant du constructeur représenté par constructor.Each element of members must be a PropertyInfo, FieldInfo or MethodInfo that represents an instance member on the declaring type of the constructor represented by constructor. Si elle représente une propriété, la propriété doit être en mesure de récupérer la valeur du champ associé.If it represents a property, the property must be able to retrieve the value of the associated field. L’élément correspondant de arguments pour chaque élément de members doit avoir une Type propriété qui représente un type qui peut être assigné au type du membre représenté par l' members élément.The corresponding element of arguments for each element of members must have a Type property that represents a type that is assignable to the type of the member that the members element represents.

La Type propriété du résultant NewExpression représente le type de déclaration du constructeur que constructor représente.The Type property of the resulting NewExpression represents the declaring type of the constructor that constructor represents.

S’applique à