Expression.ListInit Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Cria um ListInitExpression.
Sobrecargas
| Name | Description |
|---|---|
| ListInit(NewExpression, IEnumerable<ElementInit>) |
Cria um ListInitExpression que utiliza objetos especificados ElementInit para inicializar uma coleção. |
| ListInit(NewExpression, IEnumerable<Expression>) |
Cria um ListInitExpression método que usa um método chamado "Add" para adicionar elementos a uma coleção. |
| ListInit(NewExpression, ElementInit[]) |
Cria um ListInitExpression que utiliza objetos especificados ElementInit para inicializar uma coleção. |
| ListInit(NewExpression, Expression[]) |
Cria um ListInitExpression método que usa um método chamado "Add" para adicionar elementos a uma coleção. |
| ListInit(NewExpression, MethodInfo, IEnumerable<Expression>) |
Cria um ListInitExpression que utiliza um método especificado para adicionar elementos a uma coleção. |
| ListInit(NewExpression, MethodInfo, Expression[]) |
Cria um ListInitExpression que utiliza um método especificado para adicionar elementos a uma coleção. |
ListInit(NewExpression, IEnumerable<ElementInit>)
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
Cria um ListInitExpression que utiliza objetos especificados ElementInit para inicializar uma coleção.
public:
static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ElementInit ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ElementInit> initializers);
static member ListInit : System.Linq.Expressions.NewExpression * seq<System.Linq.Expressions.ElementInit> -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, initializers As IEnumerable(Of ElementInit)) As ListInitExpression
Parâmetros
- newExpression
- NewExpression
A NewExpression para definir a NewExpression propriedade igual a .
- initializers
- IEnumerable<ElementInit>
Um IEnumerable<T> que contém ElementInit objetos para usar para preencher a Initializers coleção.
Devoluções
A ListInitExpression que tem a NodeType propriedade igual a ListInit e as NewExpression propriedades e Initializers definidas com os valores especificados.
Exceções
newExpression ou initializers é null.
-ou-
Um ou mais elementos de initializers são null.
newExpression. O tipo não implementa IEnumerable.
Exemplos
O exemplo seguinte demonstra como usar o ListInit(NewExpression, ElementInit[]) método para criar um ListInitExpression que representa a inicialização de uma nova instância de dicionário com dois pares chave-valor.
string tree1 = "maple";
string tree2 = "oak";
System.Reflection.MethodInfo addMethod = typeof(Dictionary<int, string>).GetMethod("Add");
// Create two ElementInit objects that represent the
// two key-value pairs to add to the Dictionary.
System.Linq.Expressions.ElementInit elementInit1 =
System.Linq.Expressions.Expression.ElementInit(
addMethod,
System.Linq.Expressions.Expression.Constant(tree1.Length),
System.Linq.Expressions.Expression.Constant(tree1));
System.Linq.Expressions.ElementInit elementInit2 =
System.Linq.Expressions.Expression.ElementInit(
addMethod,
System.Linq.Expressions.Expression.Constant(tree2.Length),
System.Linq.Expressions.Expression.Constant(tree2));
// 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>));
// Create a ListInitExpression that represents initializing
// a new Dictionary<> instance with two key-value pairs.
System.Linq.Expressions.ListInitExpression listInitExpression =
System.Linq.Expressions.Expression.ListInit(
newDictionaryExpression,
elementInit1,
elementInit2);
Console.WriteLine(listInitExpression.ToString());
// This code produces the following output:
//
// new Dictionary`2() {Void Add(Int32, System.String)(5,"maple"),
// Void Add(Int32, System.String)(3,"oak")}
Dim tree1 As String = "maple"
Dim tree2 As String = "oak"
Dim addMethod As System.Reflection.MethodInfo = _
Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]").GetMethod("Add")
' Create two ElementInit objects that represent the
' two key-value pairs to add to the Dictionary.
Dim elementInit1 As System.Linq.Expressions.ElementInit = _
System.Linq.Expressions.Expression.ElementInit( _
addMethod, _
System.Linq.Expressions.Expression.Constant(tree1.Length), _
System.Linq.Expressions.Expression.Constant(tree1))
Dim elementInit2 As System.Linq.Expressions.ElementInit = _
System.Linq.Expressions.Expression.ElementInit( _
addMethod, _
System.Linq.Expressions.Expression.Constant(tree2.Length), _
System.Linq.Expressions.Expression.Constant(tree2))
' 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]"))
' Create a ListInitExpression that represents initializing
' a new Dictionary(Of T) instance with two key-value pairs.
Dim listInitExpression As System.Linq.Expressions.ListInitExpression = _
System.Linq.Expressions.Expression.ListInit( _
newDictionaryExpression, _
elementInit1, _
elementInit2)
Console.WriteLine(listInitExpression.ToString())
' This code produces the following output:
'
' new Dictionary`2() {Void Add(Int32, System.String)(5,"maple"),
' Void Add(Int32, System.String)(3,"oak")
Observações
A Type propriedade de newExpression deve representar um tipo que implemente IEnumerable.
A Type propriedade do resultado ListInitExpression é igual a newExpression. Tipo.
Aplica-se a
ListInit(NewExpression, IEnumerable<Expression>)
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
Cria um ListInitExpression método que usa um método chamado "Add" para adicionar elementos a uma coleção.
public:
static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
static member ListInit : System.Linq.Expressions.NewExpression * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, initializers As IEnumerable(Of Expression)) As ListInitExpression
Parâmetros
- newExpression
- NewExpression
A NewExpression para definir a NewExpression propriedade igual a .
- initializers
- IEnumerable<Expression>
Um IEnumerable<T> que contém Expression objetos para usar para preencher a Initializers coleção.
Devoluções
A ListInitExpression que tem a NodeType propriedade igual a ListInit e a NewExpression propriedade definida ao valor especificado.
- Atributos
Exceções
newExpression ou initializers é null.
-ou-
Um ou mais elementos de initializers são null.
newExpression. O tipo não implementa IEnumerable.
Não existe nenhum método de instância chamado "Add" (indistinto a maiúsculas) declarado em newExpression. Tipo ou o seu tipo base.
-ou-
O método de adição em newExpression. O tipo ou o seu tipo base não requer exatamente um argumento.
-ou-
O tipo representado pela Type propriedade do primeiro elemento de initializers não é atribuível ao tipo de argumento do método de adição em newExpression. Tipo ou o seu tipo base.
-ou-
Existem mais do que um método compatível com argumentos chamado "Add" (indistinto a maiúsculas e minúsculas) em newExpression. Tipo e/ou o seu tipo base.
Observações
A Type propriedade de newExpression deve representar um tipo que implemente IEnumerable.
Para usar esta sobrecarga de ListInit(NewExpression, IEnumerable<Expression>), newExpression. O tipo ou o seu tipo base deve declarar um único método chamado "Add" (indistinto a maiúsculas) que aceita exatamente um argumento. O tipo do argumento deve ser atribuído a partir do tipo representado pela Type propriedade do primeiro elemento de initializers.
A Initializers propriedade do devolvido ListInitExpression contém um elemento do tipo ElementInit para cada elemento de initializers. A Arguments propriedade de cada elemento de Initializers é uma coleção singleton que contém o elemento correspondente de initializers. A AddMethod propriedade de cada elemento de Initializers representa o método de adição que foi descoberto em newExpression. Tipo ou o seu tipo base.
A Type propriedade do resultado ListInitExpression é igual a newExpression. Tipo.
Aplica-se a
ListInit(NewExpression, ElementInit[])
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
Cria um ListInitExpression que utiliza objetos especificados ElementInit para inicializar uma coleção.
public:
static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, ... cli::array <System::Linq::Expressions::ElementInit ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, params System.Linq.Expressions.ElementInit[] initializers);
static member ListInit : System.Linq.Expressions.NewExpression * System.Linq.Expressions.ElementInit[] -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, ParamArray initializers As ElementInit()) As ListInitExpression
Parâmetros
- newExpression
- NewExpression
A NewExpression para definir a NewExpression propriedade igual a .
- initializers
- ElementInit[]
Um conjunto de ElementInit objetos para preencher a Initializers coleção.
Devoluções
A ListInitExpression que tem a NodeType propriedade igual a ListInit e as NewExpression propriedades e Initializers definidas com os valores especificados.
Exceções
newExpression ou initializers é null.
-ou-
Um ou mais elementos de initializers são null.
newExpression. O tipo não implementa IEnumerable.
Exemplos
O exemplo seguinte demonstra como usar o ListInit(NewExpression, ElementInit[]) método para criar um ListInitExpression que representa a inicialização de uma nova instância de dicionário com dois pares chave-valor.
string tree1 = "maple";
string tree2 = "oak";
System.Reflection.MethodInfo addMethod = typeof(Dictionary<int, string>).GetMethod("Add");
// Create two ElementInit objects that represent the
// two key-value pairs to add to the Dictionary.
System.Linq.Expressions.ElementInit elementInit1 =
System.Linq.Expressions.Expression.ElementInit(
addMethod,
System.Linq.Expressions.Expression.Constant(tree1.Length),
System.Linq.Expressions.Expression.Constant(tree1));
System.Linq.Expressions.ElementInit elementInit2 =
System.Linq.Expressions.Expression.ElementInit(
addMethod,
System.Linq.Expressions.Expression.Constant(tree2.Length),
System.Linq.Expressions.Expression.Constant(tree2));
// 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>));
// Create a ListInitExpression that represents initializing
// a new Dictionary<> instance with two key-value pairs.
System.Linq.Expressions.ListInitExpression listInitExpression =
System.Linq.Expressions.Expression.ListInit(
newDictionaryExpression,
elementInit1,
elementInit2);
Console.WriteLine(listInitExpression.ToString());
// This code produces the following output:
//
// new Dictionary`2() {Void Add(Int32, System.String)(5,"maple"),
// Void Add(Int32, System.String)(3,"oak")}
Dim tree1 As String = "maple"
Dim tree2 As String = "oak"
Dim addMethod As System.Reflection.MethodInfo = _
Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]").GetMethod("Add")
' Create two ElementInit objects that represent the
' two key-value pairs to add to the Dictionary.
Dim elementInit1 As System.Linq.Expressions.ElementInit = _
System.Linq.Expressions.Expression.ElementInit( _
addMethod, _
System.Linq.Expressions.Expression.Constant(tree1.Length), _
System.Linq.Expressions.Expression.Constant(tree1))
Dim elementInit2 As System.Linq.Expressions.ElementInit = _
System.Linq.Expressions.Expression.ElementInit( _
addMethod, _
System.Linq.Expressions.Expression.Constant(tree2.Length), _
System.Linq.Expressions.Expression.Constant(tree2))
' 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]"))
' Create a ListInitExpression that represents initializing
' a new Dictionary(Of T) instance with two key-value pairs.
Dim listInitExpression As System.Linq.Expressions.ListInitExpression = _
System.Linq.Expressions.Expression.ListInit( _
newDictionaryExpression, _
elementInit1, _
elementInit2)
Console.WriteLine(listInitExpression.ToString())
' This code produces the following output:
'
' new Dictionary`2() {Void Add(Int32, System.String)(5,"maple"),
' Void Add(Int32, System.String)(3,"oak")
Observações
A Type propriedade de newExpression deve representar um tipo que implemente IEnumerable.
A Type propriedade do resultado ListInitExpression é igual a newExpression. Tipo.
Aplica-se a
ListInit(NewExpression, Expression[])
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
Cria um ListInitExpression método que usa um método chamado "Add" para adicionar elementos a uma coleção.
public:
static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, ... cli::array <System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, params System.Linq.Expressions.Expression[] initializers);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, params System.Linq.Expressions.Expression[] initializers);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, params System.Linq.Expressions.Expression[] initializers);
static member ListInit : System.Linq.Expressions.NewExpression * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, ParamArray initializers As Expression()) As ListInitExpression
Parâmetros
- newExpression
- NewExpression
A NewExpression para definir a NewExpression propriedade igual a .
- initializers
- Expression[]
Um conjunto de Expression objetos para preencher a Initializers coleção.
Devoluções
A ListInitExpression que tem a NodeType propriedade igual a ListInit e a NewExpression propriedade definida ao valor especificado.
- Atributos
Exceções
newExpression ou initializers é null.
-ou-
Um ou mais elementos de initializers são null.
newExpression. O tipo não implementa IEnumerable.
Não existe nenhum método de instância chamado "Add" (indistinto a maiúsculas) declarado em newExpression. Tipo ou o seu tipo base.
-ou-
O método de adição em newExpression. O tipo ou o seu tipo base não requer exatamente um argumento.
-ou-
O tipo representado pela Type propriedade do primeiro elemento de initializers não é atribuível ao tipo de argumento do método de adição em newExpression. Tipo ou o seu tipo base.
-ou-
Existem mais do que um método compatível com argumentos chamado "Add" (indistinto a maiúsculas e minúsculas) em newExpression. Tipo e/ou o seu tipo base.
Observações
A Type propriedade de newExpression deve representar um tipo que implemente IEnumerable.
Para usar esta sobrecarga de ListInit(NewExpression, Expression[]), newExpression. O tipo ou o seu tipo base deve declarar um único método chamado "Add" (indistinto a maiúsculas) que aceita exatamente um argumento. O tipo do argumento deve ser atribuído a partir do tipo representado pela Type propriedade do primeiro elemento de initializers.
A Initializers propriedade do devolvido ListInitExpression contém um elemento do tipo ElementInit para cada elemento de initializers. A Arguments propriedade de cada elemento de Initializers é uma coleção singleton que contém o elemento correspondente de initializers. A AddMethod propriedade de cada elemento de Initializers representa o método de adição que foi descoberto em newExpression. Tipo ou o seu tipo base.
A Type propriedade do resultado ListInitExpression é igual a newExpression. Tipo.
Aplica-se a
ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
Cria um ListInitExpression que utiliza um método especificado para adicionar elementos a uma coleção.
public:
static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, System::Reflection::MethodInfo ^ addMethod, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo addMethod, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo? addMethod, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo? addMethod, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo? addMethod, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
static member ListInit : System.Linq.Expressions.NewExpression * System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, addMethod As MethodInfo, initializers As IEnumerable(Of Expression)) As ListInitExpression
Parâmetros
- newExpression
- NewExpression
A NewExpression para definir a NewExpression propriedade igual a .
- addMethod
- MethodInfo
A MethodInfo que representa um método de instância chamado "Add" (indistinto a maiúsculas), que adiciona um elemento a uma coleção.
- initializers
- IEnumerable<Expression>
Um IEnumerable<T> que contém Expression objetos para usar para preencher a Initializers coleção.
Devoluções
A ListInitExpression que tem a NodeType propriedade igual a ListInit e a NewExpression propriedade definida ao valor especificado.
- Atributos
Exceções
newExpression ou initializers é null.
-ou-
Um ou mais elementos de initializers são null.
newExpression. O tipo não implementa IEnumerable.
-ou-
addMethod não é null e não representa um método de instância chamado "Add" (indistinto a maiúsculas) que toma exatamente um argumento.
-ou-
addMethod não null é e o tipo representado pela Type propriedade de um ou mais elementos de initializers não é atribuível ao tipo de argumento do método que addMethod representa.
addMethod é null e não existe nenhum método de instância chamado "Add" que tome um argumento compatível com tipo em newExpression. Tipo ou o seu tipo base.
Observações
A Type propriedade de newExpression deve representar um tipo que implemente IEnumerable.
Se addMethod for null, newExpression. O tipo ou o seu tipo base deve declarar um único método chamado "Add" (indistinto a maiúsculas) que aceita exatamente um argumento. Se addMethod não nullfor , deve representar um método de instância chamado "Add" (indistinto a maiúsculas) que tem exatamente um parâmetro. O tipo representado pela Type propriedade de cada elemento de initializers deve ser atribuível ao tipo de argumento do método de adição.
A Initializers propriedade do devolvido ListInitExpression contém um elemento do tipo ElementInit para cada elemento de initializers. A Arguments propriedade de cada elemento de Initializers é uma coleção singleton que contém o elemento correspondente de initializers. A AddMethod propriedade de cada elemento de Initializers é igual a addMethod.
A Type propriedade do resultado ListInitExpression é igual a newExpression. Tipo.
Aplica-se a
ListInit(NewExpression, MethodInfo, Expression[])
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
- Origem:
- ListInitExpression.cs
Cria um ListInitExpression que utiliza um método especificado para adicionar elementos a uma coleção.
public:
static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, System::Reflection::MethodInfo ^ addMethod, ... cli::array <System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo addMethod, params System.Linq.Expressions.Expression[] initializers);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo? addMethod, params System.Linq.Expressions.Expression[] initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo? addMethod, params System.Linq.Expressions.Expression[] initializers);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo? addMethod, params System.Linq.Expressions.Expression[] initializers);
static member ListInit : System.Linq.Expressions.NewExpression * System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, addMethod As MethodInfo, ParamArray initializers As Expression()) As ListInitExpression
Parâmetros
- newExpression
- NewExpression
A NewExpression para definir a NewExpression propriedade igual a .
- addMethod
- MethodInfo
A MethodInfo que representa um método de instância que recebe um argumento, que adiciona um elemento a uma coleção.
- initializers
- Expression[]
Um conjunto de Expression objetos para preencher a Initializers coleção.
Devoluções
A ListInitExpression que tem a NodeType propriedade igual a ListInit e a NewExpression propriedade definida ao valor especificado.
- Atributos
Exceções
newExpression ou initializers é null.
-ou-
Um ou mais elementos de initializers são null.
newExpression. O tipo não implementa IEnumerable.
-ou-
addMethod não é null e não representa um método de instância chamado "Add" (indistinto a maiúsculas) que toma exatamente um argumento.
-ou-
addMethod não null é e o tipo representado pela Type propriedade de um ou mais elementos de initializers não é atribuível ao tipo de argumento do método que addMethod representa.
addMethod é null e não existe nenhum método de instância chamado "Add" que tome um argumento compatível com tipo em newExpression. Tipo ou o seu tipo base.
Observações
A Type propriedade de newExpression deve representar um tipo que implemente IEnumerable.
Se addMethod for null, newExpression. O tipo ou o seu tipo base deve declarar um único método chamado "Add" (indistinto a maiúsculas) que aceita exatamente um argumento. Se addMethod não nullfor , deve representar um método de instância chamado "Add" (indistinto a maiúsculas) que tem exatamente um parâmetro. O tipo representado pela Type propriedade de cada elemento de initializers deve ser atribuível ao tipo de argumento do método de adição.
A Initializers propriedade do devolvido ListInitExpression contém um elemento do tipo ElementInit para cada elemento de initializers. A Arguments propriedade de cada elemento de Initializers é uma coleção singleton que contém o elemento correspondente de initializers. A AddMethod propriedade de cada elemento de Initializers é igual a addMethod.
A Type propriedade do resultado ListInitExpression é igual a newExpression. Tipo.