Expression.New Méthode

Définition

Crée un NewExpression.

Surcharges

New(ConstructorInfo)

Crée un NewExpression qui représente l'appel du constructeur spécifié qui ne prend pas d'arguments.

New(Type)

Crée un NewExpression qui représente l'appel du constructeur sans paramètre du type spécifié.

New(ConstructorInfo, IEnumerable<Expression>)

Crée un NewExpression qui représente l'appel du constructeur spécifié avec les arguments spécifiés.

New(ConstructorInfo, Expression[])

Crée un NewExpression qui représente l'appel du constructeur spécifié avec les arguments spécifiés.

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. Les membres qui accèdent aux champs initialisés du constructeur sont spécifiés.

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

Crée un NewExpression qui représente l'appel du constructeur spécifié avec les arguments spécifiés. Les membres qui accèdent aux champs initialisés du constructeur sont spécifiés sous forme de tableau.

New(ConstructorInfo)

Crée un NewExpression qui représente l'appel du constructeur spécifié qui ne prend pas d'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.

Retours

NewExpression

NewExpression dont la propriété NodeType est égale à New et dont la propriété Constructor a la valeur spécifiée.

Exceptions

constructor a la valeur null.

Le constructeur représenté par constructor a au moins un paramètre.

Remarques

Les propriétés et Members les Arguments propriétés des résultats NewExpression sont des collections vides. La Type propriété représente le type déclarant du constructeur représenté par constructor.

S’applique à

New(Type)

Crée un NewExpression qui représente l'appel du constructeur sans paramètre du type spécifié.

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

Paramètres

type
Type

Type ayant un constructeur qui ne prend pas d'arguments.

Retours

NewExpression

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é.

Exceptions

type a la valeur null.

Le type représenté par type n'a pas de constructeur sans paramètres.

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 dictionnaire en appelant le constructeur sans paramètres.

// 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.

Les propriétés et Members les Arguments propriétés des résultats NewExpression sont des collections vides. La Type propriété est égale à type.

S’applique à

New(ConstructorInfo, IEnumerable<Expression>)

Crée un NewExpression qui représente l'appel du constructeur spécifié avec les arguments spécifiés.

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

Paramètres

constructor
ConstructorInfo

ConstructorInfo auquel la propriété Constructor doit être égale.

arguments
IEnumerable<Expression>

IEnumerable<T> qui contient des objets Expression à utiliser pour remplir la collection Arguments.

Retours

NewExpression

NewExpression dont la propriété NodeType est égale à New et dont les propriétés Constructor et Arguments ont les valeurs spécifiées.

Exceptions

constructor a la valeur null.

  • ou - Un élément de arguments est 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.

  • ou - 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.

Remarques

Le arguments paramètre doit contenir le même nombre d’éléments que le nombre de paramètres du constructeur représenté par constructor. Si arguments c’est le cas null, il est considéré comme vide et la Arguments propriété du résultat NewExpression est une collection vide.

La Type propriété du résultat NewExpression représente le type déclarant du constructeur représenté par constructor. La Members propriété est une collection vide.

S’applique à

New(ConstructorInfo, Expression[])

Crée un NewExpression qui représente l'appel du constructeur spécifié avec les arguments spécifiés.

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

Paramètres

constructor
ConstructorInfo

ConstructorInfo auquel la propriété Constructor doit être égale.

arguments
Expression[]

Tableau d'objets Expression à utiliser pour remplir la collection Arguments.

Retours

NewExpression

NewExpression dont la propriété NodeType est égale à New et dont les propriétés Constructor et Arguments ont les valeurs spécifiées.

Exceptions

constructor a la valeur null.

  • ou - Un élément de arguments est null.

La longueur de arguments correspond au nombre de paramètres du constructeur que constructor représente.

  • ou - 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.

Remarques

Le arguments paramètre doit contenir le même nombre d’éléments que le nombre de paramètres du constructeur représenté par constructor. Si arguments c’est le cas null, il est considéré comme vide et la Arguments propriété du résultat NewExpression est une collection vide.

La Type propriété du résultat NewExpression représente le type déclarant du constructeur représenté par constructor. La Members propriété est une collection vide.

S’applique à

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. Les membres qui accèdent aux champs initialisés du constructeur sont spécifiés.

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

Paramètres

constructor
ConstructorInfo

ConstructorInfo auquel la propriété Constructor doit être égale.

arguments
IEnumerable<Expression>

IEnumerable<T> qui contient des objets Expression à utiliser pour remplir la collection Arguments.

members
IEnumerable<MemberInfo>

IEnumerable<T> qui contient des objets MemberInfo à utiliser pour remplir la collection Members.

Retours

NewExpression

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.

Exceptions

constructor a la valeur null.

  • ou - Un élément de arguments est null.

  • ou - Un élément de members est 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.

  • ou - 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.

  • ou - Le paramètre members n'a pas le même nombre d'éléments que le paramètre arguments.

  • ou - 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.

Remarques

Le arguments paramètre doit contenir le même nombre d’éléments que le nombre de paramètres du constructeur représenté par constructor. Si arguments c’est le cas null, il est considéré comme vide et la Arguments propriété du résultat NewExpression est une collection vide.

Si members c’est le cas null, la Members propriété du résultat NewExpression est une collection vide. Si members ce n’est pas nullle cas, il doit avoir le même nombre d’éléments que arguments et chaque élément ne doit pas être null. Chaque élément de members doit être un PropertyInfo, FieldInfo ou MethodInfo qui représente un membre d’instance sur le type déclarant du constructeur représenté par constructor. S’il représente une propriété, la propriété doit avoir un get accesseur. L’élément correspondant de arguments chaque élément doit members avoir une Type propriété qui représente un type pouvant être affecté au type du membre représenté par l’élément members .

La Type propriété du résultat NewExpression représente le type déclarant du constructeur qui constructor représente.

S’applique à

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

Crée un NewExpression qui représente l'appel du constructeur spécifié avec les arguments spécifiés. Les membres qui accèdent aux champs initialisés du constructeur sont spécifiés sous forme de tableau.

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

Paramètres

constructor
ConstructorInfo

ConstructorInfo auquel la propriété Constructor doit être égale.

arguments
IEnumerable<Expression>

IEnumerable<T> qui contient des objets Expression à utiliser pour remplir la collection Arguments.

members
MemberInfo[]

Tableau d'objets MemberInfo à utiliser pour remplir la collection Members.

Retours

NewExpression

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.

Exceptions

constructor a la valeur null.

  • ou - Un élément de arguments est null.

  • ou - Un élément de members est 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.

  • ou - 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.

  • ou - Le paramètre members n'a pas le même nombre d'éléments que le paramètre arguments.

  • ou - 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.

Remarques

Le arguments paramètre doit contenir le même nombre d’éléments que le nombre de paramètres du constructeur représenté par constructor. Si arguments c’est le cas null, il est considéré comme vide et la Arguments propriété du résultat NewExpression est une collection vide.

Si members c’est le cas null, la Members propriété du résultat NewExpression est une collection vide. Si members ce n’est pas nullle cas, il doit avoir le même nombre d’éléments que arguments et chaque élément ne doit pas être null. Chaque élément de members doit être un PropertyInfo, FieldInfo ou MethodInfo qui représente un membre d’instance sur le type déclarant du constructeur représenté par constructor. Si elle représente une propriété, la propriété doit être en mesure de récupérer la valeur du champ associé. L’élément correspondant de arguments chaque élément doit members avoir une Type propriété qui représente un type pouvant être affecté au type du membre représenté par l’élément members .

La Type propriété du résultat NewExpression représente le type déclarant du constructeur qui constructor représente.

S’applique à