Expression.New Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 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
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é.
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 dont la propriété NodeType est égale à New et dont les propriétés Constructor et Arguments ont les valeurs spécifiées.
Exceptions
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 queconstructor
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 dont la propriété NodeType est égale à New et dont les propriétés Constructor et Arguments ont les valeurs spécifiées.
Exceptions
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 queconstructor
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 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
estnull
.ou - Un élément de
members
estnull
.
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 queconstructor
représente.ou - Le paramètre
members
n'a pas le même nombre d'éléments que le paramètrearguments
.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ètremembers
.
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 null
le 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 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
estnull
.ou - Un élément de
members
estnull
.
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 queconstructor
représente.ou - Le paramètre
members
n'a pas le même nombre d'éléments que le paramètrearguments
.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ètremembers
.
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 null
le 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.