Expression.ElementInit 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 objet ElementInit.
Surcharges
ElementInit(MethodInfo, IEnumerable<Expression>) |
Crée un ElementInit, à partir d'un IEnumerable<T> comme deuxième argument. |
ElementInit(MethodInfo, Expression[]) |
Crée un ElementInit, à partir d'un tableau de valeurs comme deuxième argument. |
ElementInit(MethodInfo, IEnumerable<Expression>)
- Source:
- ElementInit.cs
- Source:
- ElementInit.cs
- Source:
- ElementInit.cs
Crée un ElementInit, à partir d'un IEnumerable<T> comme deuxième argument.
public:
static System::Linq::Expressions::ElementInit ^ ElementInit(System::Reflection::MethodInfo ^ addMethod, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.ElementInit ElementInit (System.Reflection.MethodInfo addMethod, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
static member ElementInit : System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ElementInit
Public Shared Function ElementInit (addMethod As MethodInfo, arguments As IEnumerable(Of Expression)) As ElementInit
Paramètres
- addMethod
- MethodInfo
MethodInfo auquel la propriété AddMethod doit être égale.
- arguments
- IEnumerable<Expression>
IEnumerable<T> qui contient des objets Expression auquel la propriété Arguments doit être égale.
Retours
ElementInit dont les propriétés AddMethod et Arguments ont les valeurs spécifiées.
Exceptions
addMethod
ou arguments
est null
.
La méthode représentée par addMethod
n’est pas nommée « Add » (non-respect de la casse).
- ou -
La méthode représentée par addMethod
n’est pas une méthode d’instance.
- ou -
Le nombre d’éléments que contient arguments
ne correspond pas au nombre de paramètres de la méthode représentée par addMethod
.
- ou -
La propriété Type d’un ou plusieurs éléments de arguments
n’est pas affectable au type du paramètre correspondant de la méthode représentée par addMethod
.
Exemples
L’exemple suivant montre comment utiliser la ElementInit(MethodInfo, Expression[]) méthode pour créer un ElementInit qui représente l’appel de la Add méthode pour initialiser un élément d’une collection de dictionnaires.
string tree = "maple";
System.Reflection.MethodInfo addMethod = typeof(Dictionary<int, string>).GetMethod("Add");
// Create an ElementInit that represents calling
// Dictionary<int, string>.Add(tree.Length, tree).
System.Linq.Expressions.ElementInit elementInit =
System.Linq.Expressions.Expression.ElementInit(
addMethod,
System.Linq.Expressions.Expression.Constant(tree.Length),
System.Linq.Expressions.Expression.Constant(tree));
Console.WriteLine(elementInit.ToString());
// This code produces the following output:
//
// Void Add(Int32, System.String)(5,"maple")
Dim tree As String = "maple"
Dim addMethod As System.Reflection.MethodInfo = _
Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]").GetMethod("Add")
' Create an ElementInit that represents calling
' Dictionary(Of Integer, String).Add(tree.Length, tree).
Dim elementInit As System.Linq.Expressions.ElementInit = _
System.Linq.Expressions.Expression.ElementInit( _
addMethod, _
System.Linq.Expressions.Expression.Constant(tree.Length), _
System.Linq.Expressions.Expression.Constant(tree))
Console.WriteLine(elementInit.ToString())
' This code produces the following output:
'
' Void Add(Int32, System.String)(5,"maple")
Remarques
Le addMethod
paramètre doit représenter une méthode instance nommée « Add » (qui ne respecte pas la casse). La méthode add doit avoir le même nombre de paramètres que le nombre d’éléments dans arguments
. La Type propriété de chaque élément dans arguments
doit être assignable au type du paramètre correspondant de la méthode add, éventuellement après guillemets.
Notes
Un élément est entre guillemets uniquement si le paramètre de méthode correspondant est de type Expression. Les guillemets signifient que l’élément est encapsulé dans un Quote nœud. Le nœud résultant est un UnaryExpression dont Operand la propriété est l’élément de arguments
.
S’applique à
ElementInit(MethodInfo, Expression[])
- Source:
- ElementInit.cs
- Source:
- ElementInit.cs
- Source:
- ElementInit.cs
Crée un ElementInit, à partir d'un tableau de valeurs comme deuxième argument.
public:
static System::Linq::Expressions::ElementInit ^ ElementInit(System::Reflection::MethodInfo ^ addMethod, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.ElementInit ElementInit (System.Reflection.MethodInfo addMethod, params System.Linq.Expressions.Expression[] arguments);
static member ElementInit : System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ElementInit
Public Shared Function ElementInit (addMethod As MethodInfo, ParamArray arguments As Expression()) As ElementInit
Paramètres
- addMethod
- MethodInfo
MethodInfo auquel la propriété AddMethod doit être égale.
- arguments
- Expression[]
Tableau d'objets Expression auquel la propriété Arguments doit être égale.
Retours
ElementInit dont les propriétés AddMethod et Arguments ont les valeurs spécifiées.
Exceptions
addMethod
ou arguments
est null
.
La méthode représentée par addMethod n'est pas nommée "Add" (non respect de la casse).
- ou -
La méthode représentée par addMethod n'est pas une méthode d'instance.
- ou -
arguments ne contient pas le même nombre d'éléments que le nombre de paramètres pour la méthode représentée par addMethod.
- ou -
La propriété Type d’un ou plusieurs éléments de arguments
n’est pas affectable au type du paramètre correspondant de la méthode représentée par addMethod
.
Exemples
L’exemple suivant montre comment utiliser la ElementInit(MethodInfo, Expression[]) méthode pour créer un ElementInit qui représente l’appel de la Add méthode pour initialiser un élément d’une collection de dictionnaires.
string tree = "maple";
System.Reflection.MethodInfo addMethod = typeof(Dictionary<int, string>).GetMethod("Add");
// Create an ElementInit that represents calling
// Dictionary<int, string>.Add(tree.Length, tree).
System.Linq.Expressions.ElementInit elementInit =
System.Linq.Expressions.Expression.ElementInit(
addMethod,
System.Linq.Expressions.Expression.Constant(tree.Length),
System.Linq.Expressions.Expression.Constant(tree));
Console.WriteLine(elementInit.ToString());
// This code produces the following output:
//
// Void Add(Int32, System.String)(5,"maple")
Dim tree As String = "maple"
Dim addMethod As System.Reflection.MethodInfo = _
Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]").GetMethod("Add")
' Create an ElementInit that represents calling
' Dictionary(Of Integer, String).Add(tree.Length, tree).
Dim elementInit As System.Linq.Expressions.ElementInit = _
System.Linq.Expressions.Expression.ElementInit( _
addMethod, _
System.Linq.Expressions.Expression.Constant(tree.Length), _
System.Linq.Expressions.Expression.Constant(tree))
Console.WriteLine(elementInit.ToString())
' This code produces the following output:
'
' Void Add(Int32, System.String)(5,"maple")
Remarques
Le addMethod
paramètre doit représenter une méthode instance nommée « Add » (qui ne respecte pas la casse). La méthode add doit avoir le même nombre de paramètres que le nombre d’éléments dans arguments
. La Type propriété de chaque élément dans arguments
doit être assignable au type du paramètre correspondant de la méthode add, éventuellement après guillemets.
Notes
Un élément est entre guillemets uniquement si le paramètre de méthode correspondant est de type Expression. Les guillemets signifient que l’élément est encapsulé dans un Quote nœud. Le nœud résultant est un UnaryExpression dont Operand la propriété est l’élément de arguments
.