Partage via


Expression.New Méthode

Définition

Crée un NewExpression.

Surcharges

Nom Description
New(ConstructorInfo)

Crée un NewExpression qui représente l’appel du constructeur spécifié qui ne prend aucun argument.

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 en tant que tableau.

New(ConstructorInfo)

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

Crée un NewExpression qui représente l’appel du constructeur spécifié qui ne prend aucun argument.

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

Pour ConstructorInfo définir la Constructor propriété égale à.

Retours

Qui NewExpression a la NodeType propriété égale à New et la Constructor propriété définie sur la valeur spécifiée.

Exceptions

constructor a la valeur null.

Le constructeur qui constructor représente a au moins un paramètre.

Remarques

Les Arguments propriétés et Members les 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)

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

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

Qui Type a un constructeur qui ne prend aucun argument.

Retours

Qui NewExpression a la NodeType propriété égale à New et la Constructor propriété définie sur le ConstructorInfo constructeur qui représente le constructeur sans paramètres pour le type spécifié.

Exceptions

type a la valeur null.

Le type qui type représente n’a pas de constructeur sans paramètres.

Exemples

L’exemple suivant montre comment utiliser la New(Type) méthode pour créer un qui représente la construction d’une NewExpression 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 Arguments propriétés et Members les propriétés des résultats NewExpression sont des collections vides. La Type propriété est égale à type.

S’applique à

New(ConstructorInfo, IEnumerable<Expression>)

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

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

Pour ConstructorInfo définir la Constructor propriété égale à.

arguments
IEnumerable<Expression>

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

Retours

Qui NewExpression a la NodeType propriété égale à New et les ConstructorArguments propriétés définies sur les valeurs spécifiées.

Exceptions

constructor a la valeur null.

- ou -

Un élément de arguments .null

Le arguments paramètre ne contient pas le même nombre d’éléments que le nombre de paramètres du constructeur qui constructor représente.

- ou -

La Type propriété d’un élément de arguments n’est pas assignable au type du paramètre correspondant du constructeur qui 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 nullle cas, 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[])

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

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

Pour ConstructorInfo définir la Constructor propriété égale à.

arguments
Expression[]

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

Retours

Qui NewExpression a la NodeType propriété égale à New et les ConstructorArguments propriétés définies sur les valeurs spécifiées.

Exceptions

constructor a la valeur null.

- ou -

Un élément de arguments .null

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

- ou -

La Type propriété d’un élément de arguments n’est pas assignable au type du paramètre correspondant du constructeur qui 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 nullle cas, 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>)

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")>]
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

Pour ConstructorInfo définir la Constructor propriété égale à.

arguments
IEnumerable<Expression>

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

members
IEnumerable<MemberInfo>

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

Retours

Qui NewExpression a la NodeType propriété égale à New et les ConstructorArgumentsMembers propriétés définies sur les valeurs spécifiées.

Attributs

Exceptions

constructor a la valeur null.

- ou -

Un élément de arguments .null

- ou -

Un élément de members .null

Le arguments paramètre ne contient pas le même nombre d’éléments que le nombre de paramètres du constructeur qui constructor représente.

- ou -

La Type propriété d’un élément de arguments n’est pas assignable au type du paramètre correspondant du constructeur qui constructor représente.

- ou -

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

- ou -

Un élément d’une argumentsType propriété qui représente un type qui n’est pas assignable au type du membre représenté par l’élément correspondant de 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 nullle cas, il est considéré comme vide et la Arguments propriété du résultat NewExpression est une collection vide.

Si members c’est nullle cas, 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 PropertyInfoou FieldInfoMethodInfo 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 members doit avoir une Type propriété qui représente un type pouvant être affecté au type du membre que l’élément members représente.

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[])

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

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 en tant que 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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")>]
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

Pour ConstructorInfo définir la Constructor propriété égale à.

arguments
IEnumerable<Expression>

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

members
MemberInfo[]

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

Retours

Qui NewExpression a la NodeType propriété égale à New et les ConstructorArgumentsMembers propriétés définies sur les valeurs spécifiées.

Attributs

Exceptions

constructor a la valeur null.

- ou -

Un élément de arguments .null

- ou -

Un élément de members .null

Le arguments paramètre ne contient pas le même nombre d’éléments que le nombre de paramètres du constructeur qui constructor représente.

- ou -

La Type propriété d’un élément de arguments n’est pas assignable au type du paramètre correspondant du constructeur qui constructor représente.

- ou -

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

- ou -

Un élément d’une argumentsType propriété qui représente un type qui n’est pas assignable au type du membre représenté par l’élément correspondant de 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 nullle cas, il est considéré comme vide et la Arguments propriété du résultat NewExpression est une collection vide.

Si members c’est nullle cas, 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 PropertyInfoou FieldInfoMethodInfo 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 être en mesure de récupérer la valeur du champ associé. L’élément correspondant de arguments chaque élément members doit avoir une Type propriété qui représente un type pouvant être affecté au type du membre que l’élément members représente.

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

S’applique à