Expression.ListInit Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria um ListInitExpression.
Sobrecargas
| Nome | Description |
|---|---|
| ListInit(NewExpression, IEnumerable<ElementInit>) |
Cria um ListInitExpression que usa objetos especificados ElementInit para inicializar uma coleção. |
| ListInit(NewExpression, IEnumerable<Expression>) |
Cria um ListInitExpression método chamado "Add" para adicionar elementos a uma coleção. |
| ListInit(NewExpression, ElementInit[]) |
Cria um ListInitExpression que usa objetos especificados ElementInit para inicializar uma coleção. |
| ListInit(NewExpression, Expression[]) |
Cria um ListInitExpression método chamado "Add" para adicionar elementos a uma coleção. |
| ListInit(NewExpression, MethodInfo, IEnumerable<Expression>) |
Cria um ListInitExpression método que usa um método especificado para adicionar elementos a uma coleção. |
| ListInit(NewExpression, MethodInfo, Expression[]) |
Cria um ListInitExpression método que usa 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 usa 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 a serem usados para preencher a Initializers coleção.
Retornos
Um ListInitExpression que tem a NodeType propriedade igual a ListInit e as NewExpression propriedades e Initializers definidas para os valores especificados.
Exceções
newExpression ou initializers é null.
- ou -
Um ou mais elementos são initializersnull.
newExpression. O tipo não implementa IEnumerable.
Exemplos
O exemplo a seguir 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")
Comentários
A Type propriedade deve newExpression representar um tipo que implementa 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 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 a serem usados para preencher a Initializers coleção.
Retornos
Um ListInitExpression que tem a NodeType propriedade igual a ListInit e a NewExpression propriedade definida como o valor especificado.
- Atributos
Exceções
newExpression ou initializers é null.
- ou -
Um ou mais elementos são initializersnull.
newExpression. O tipo não implementa IEnumerable.
Não há nenhum método de instância chamado "Add" (não diferencia maiúsculas de minúsculas) declarado em newExpression. Digite ou seu tipo base.
- ou -
O método add em newExpression. O tipo ou seu tipo base não usa exatamente um argumento.
- ou -
O tipo representado pela Type propriedade do primeiro elemento initializers não é atribuível ao tipo de argumento do método add em newExpression. Digite ou seu tipo base.
- ou -
Existe mais de um método compatível com argumento chamado "Add" (não diferencia maiúsculas de minúsculas newExpression). Digite e/ou seu tipo base.
Comentários
A Type propriedade deve newExpression representar um tipo que implementa IEnumerable.
Para usar essa sobrecarga de ListInit(NewExpression, IEnumerable<Expression>), newExpression. O tipo ou seu tipo base deve declarar um único método chamado "Add" (não diferencia maiúsculas de minúsculas) que usa exatamente um argumento. O tipo do argumento deve ser atribuível do tipo representado pela Type propriedade do primeiro elemento de initializers.
A Initializers propriedade do retornado ListInitExpression contém um elemento do tipo ElementInit para cada elemento de initializers. A Arguments propriedade de cada elemento Initializers é uma coleção singleton que contém o elemento correspondente de initializers. A AddMethod propriedade de cada elemento Initializers representa o método add que foi descoberto em newExpression. Digite ou 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 usa 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[]
Uma matriz de ElementInit objetos a serem usados para preencher a Initializers coleção.
Retornos
Um ListInitExpression que tem a NodeType propriedade igual a ListInit e as NewExpression propriedades e Initializers definidas para os valores especificados.
Exceções
newExpression ou initializers é null.
- ou -
Um ou mais elementos são initializersnull.
newExpression. O tipo não implementa IEnumerable.
Exemplos
O exemplo a seguir 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")
Comentários
A Type propriedade deve newExpression representar um tipo que implementa 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 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[]
Uma matriz de Expression objetos a serem usados para preencher a Initializers coleção.
Retornos
Um ListInitExpression que tem a NodeType propriedade igual a ListInit e a NewExpression propriedade definida como o valor especificado.
- Atributos
Exceções
newExpression ou initializers é null.
- ou -
Um ou mais elementos são initializersnull.
newExpression. O tipo não implementa IEnumerable.
Não há nenhum método de instância chamado "Add" (não diferencia maiúsculas de minúsculas) declarado em newExpression. Digite ou seu tipo base.
- ou -
O método add em newExpression. O tipo ou seu tipo base não usa exatamente um argumento.
- ou -
O tipo representado pela Type propriedade do primeiro elemento initializers não é atribuível ao tipo de argumento do método add em newExpression. Digite ou seu tipo base.
- ou -
Existe mais de um método compatível com argumento chamado "Add" (não diferencia maiúsculas de minúsculas newExpression). Digite e/ou seu tipo base.
Comentários
A Type propriedade deve newExpression representar um tipo que implementa IEnumerable.
Para usar essa sobrecarga de ListInit(NewExpression, Expression[]), newExpression. O tipo ou seu tipo base deve declarar um único método chamado "Add" (não diferencia maiúsculas de minúsculas) que usa exatamente um argumento. O tipo do argumento deve ser atribuível do tipo representado pela Type propriedade do primeiro elemento de initializers.
A Initializers propriedade do retornado ListInitExpression contém um elemento do tipo ElementInit para cada elemento de initializers. A Arguments propriedade de cada elemento Initializers é uma coleção singleton que contém o elemento correspondente de initializers. A AddMethod propriedade de cada elemento Initializers representa o método add que foi descoberto em newExpression. Digite ou 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 método que usa 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
Um MethodInfo que representa um método de instância chamado "Add" (não diferencia maiúsculas de minúsculas), que adiciona um elemento a uma coleção.
- initializers
- IEnumerable<Expression>
Um IEnumerable<T> que contém Expression objetos a serem usados para preencher a Initializers coleção.
Retornos
Um ListInitExpression que tem a NodeType propriedade igual a ListInit e a NewExpression propriedade definida como o valor especificado.
- Atributos
Exceções
newExpression ou initializers é null.
- ou -
Um ou mais elementos são initializersnull.
newExpression. O tipo não implementa IEnumerable.
- ou -
addMethod não null é e não representa um método de instância chamado "Add" (diferencia maiúsculas de minúsculas) que usa exatamente um argumento.
- ou -
addMethod não null é e o tipo representado pela Type propriedade de um ou mais elementos não initializers é atribuível ao tipo de argumento do método que addMethod representa.
addMethod é null e nenhum método de instância chamado "Add" que usa um argumento compatível com tipo existe. newExpression Digite ou seu tipo base.
Comentários
A Type propriedade deve newExpression representar um tipo que implementa IEnumerable.
Se addMethod for null, newExpression. O tipo ou seu tipo base deve declarar um único método chamado "Add" (não diferencia maiúsculas de minúsculas) que usa exatamente um argumento. Se addMethod não nullestiver, ele deve representar um método de instância chamado "Add" (não diferencia maiúsculas de minúsculas) que tenha exatamente um parâmetro. O tipo representado pela Type propriedade de cada elemento initializers deve ser atribuível ao tipo de argumento do método add.
A Initializers propriedade do retornado ListInitExpression contém um elemento do tipo ElementInit para cada elemento de initializers. A Arguments propriedade de cada elemento Initializers é uma coleção singleton que contém o elemento correspondente de initializers. A AddMethod propriedade de cada elemento 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 método que usa 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
Um MethodInfo que representa um método de instância que usa um argumento que adiciona um elemento a uma coleção.
- initializers
- Expression[]
Uma matriz de Expression objetos a serem usados para preencher a Initializers coleção.
Retornos
Um ListInitExpression que tem a NodeType propriedade igual a ListInit e a NewExpression propriedade definida como o valor especificado.
- Atributos
Exceções
newExpression ou initializers é null.
- ou -
Um ou mais elementos são initializersnull.
newExpression. O tipo não implementa IEnumerable.
- ou -
addMethod não null é e não representa um método de instância chamado "Add" (diferencia maiúsculas de minúsculas) que usa exatamente um argumento.
- ou -
addMethod não null é e o tipo representado pela Type propriedade de um ou mais elementos não initializers é atribuível ao tipo de argumento do método que addMethod representa.
addMethod é null e nenhum método de instância chamado "Add" que usa um argumento compatível com tipo existe. newExpression Digite ou seu tipo base.
Comentários
A Type propriedade deve newExpression representar um tipo que implementa IEnumerable.
Se addMethod for null, newExpression. O tipo ou seu tipo base deve declarar um único método chamado "Add" (não diferencia maiúsculas de minúsculas) que usa exatamente um argumento. Se addMethod não nullestiver, ele deve representar um método de instância chamado "Add" (não diferencia maiúsculas de minúsculas) que tenha exatamente um parâmetro. O tipo representado pela Type propriedade de cada elemento initializers deve ser atribuível ao tipo de argumento do método add.
A Initializers propriedade do retornado ListInitExpression contém um elemento do tipo ElementInit para cada elemento de initializers. A Arguments propriedade de cada elemento Initializers é uma coleção singleton que contém o elemento correspondente de initializers. A AddMethod propriedade de cada elemento Initializers é igual a addMethod.
A Type propriedade do resultado ListInitExpression é igual a newExpression. Tipo.