Expression.New 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 NewExpression.
Sobrecargas
New(ConstructorInfo) |
Cria um NewExpression que representa uma chamada ao construtor especificado que não aceita nenhum argumento. |
New(Type) |
Cria um NewExpression que representa uma chamada para o construtor sem parâmetro do tipo especificado. |
New(ConstructorInfo, IEnumerable<Expression>) |
Cria um NewExpression que representa uma chamada ao construtor especificado com os argumentos especificados. |
New(ConstructorInfo, Expression[]) |
Cria um NewExpression que representa uma chamada ao construtor especificado com os argumentos especificados. |
New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>) |
Cria um NewExpression que representa uma chamada ao construtor especificado com os argumentos especificados. Os membros que acessam os campos inicializados pelo construtor são especificados. |
New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) |
Cria um NewExpression que representa uma chamada ao construtor especificado com os argumentos especificados. Os membros que acessam os campos inicializados pelo construtor são especificados como uma matriz. |
New(ConstructorInfo)
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
Cria um NewExpression que representa uma chamada ao construtor especificado que não aceita nenhum argumento.
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
Parâmetros
- constructor
- ConstructorInfo
O ConstructorInfo com um valor igual ao qual a Constructor propriedade será definida.
Retornos
Uma NewExpression que tem a propriedade NodeType igual a New e a propriedade Constructor definida para o valor especificado.
Exceções
constructor
é null
.
O construtor representado por constructor
tem pelo menos um parâmetro.
Comentários
As Arguments propriedades e Members do resultante NewExpression são coleções vazias. A Type propriedade representa o tipo de declaração do construtor representado por constructor
.
Aplica-se a
New(Type)
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
Cria um NewExpression que representa uma chamada para o construtor sem parâmetro do tipo especificado.
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
Parâmetros
Retornos
A NewExpression que tem a propriedade NodeType igual a New e a propriedade Constructor definida como o ConstructorInfo que representa o construtor sem parâmetros para o tipo especificado.
Exceções
type
é null
.
O tipo que type
representa não tem um construtor sem parâmetros.
Exemplos
O exemplo a seguir demonstra como usar o New(Type) método para criar um NewExpression que representa a construção de uma nova instância de um objeto de dicionário chamando o construtor sem parâmetros.
// 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()
Comentários
O type
parâmetro deve representar um tipo que tenha um construtor sem parâmetros.
As Arguments propriedades e Members do resultante NewExpression são coleções vazias. A Type propriedade é igual a type
.
Aplica-se a
New(ConstructorInfo, IEnumerable<Expression>)
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
Cria um NewExpression que representa uma chamada ao construtor especificado com os argumentos especificados.
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
Parâmetros
- constructor
- ConstructorInfo
O ConstructorInfo com um valor igual ao qual a Constructor propriedade será definida.
- arguments
- IEnumerable<Expression>
Um IEnumerable<T> que contém objetos Expression a serem usados para preencher a coleção de Arguments.
Retornos
Um NewExpression que tem a propriedade NodeType igual a New e as propriedades Constructor e Arguments definidas com os valores especificados.
Exceções
O parâmetro arguments
não contém o mesmo número de elementos que o número de parâmetros do construtor representado por constructor
.
- ou -
A propriedade Type de um elemento de arguments
não pode ser atribuída ao tipo do parâmetro correspondente do construtor representado por constructor
.
Comentários
O arguments
parâmetro deve conter o mesmo número de elementos que o número de parâmetros para o construtor representado por constructor
. Se arguments
for null
, ele será considerado vazio e a Arguments propriedade do resultante NewExpression será uma coleção vazia.
A Type propriedade do resultante NewExpression representa o tipo de declaração do construtor representado por constructor
. A Members propriedade é uma coleção vazia.
Aplica-se a
New(ConstructorInfo, Expression[])
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
Cria um NewExpression que representa uma chamada ao construtor especificado com os argumentos especificados.
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
Parâmetros
- constructor
- ConstructorInfo
O ConstructorInfo com um valor igual ao qual a Constructor propriedade será definida.
- arguments
- Expression[]
Uma matriz de objetos Expression a serem usados para popular a coleção de Arguments.
Retornos
Um NewExpression que tem a propriedade NodeType igual a New e as propriedades Constructor e Arguments definidas com os valores especificados.
Exceções
O tamanho de arguments
corresponde ao número de parâmetros do construtor representado por constructor
.
- ou -
A propriedade Type de um elemento de arguments
não pode ser atribuída ao tipo do parâmetro correspondente do construtor representado por constructor
.
Comentários
O arguments
parâmetro deve conter o mesmo número de elementos que o número de parâmetros para o construtor representado por constructor
. Se arguments
for null
, ele será considerado vazio e a Arguments propriedade do resultante NewExpression será uma coleção vazia.
A Type propriedade do resultante NewExpression representa o tipo de declaração do construtor representado por constructor
. A Members propriedade é uma coleção vazia.
Aplica-se a
New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
Cria um NewExpression que representa uma chamada ao construtor especificado com os argumentos especificados. Os membros que acessam os campos inicializados pelo construtor são especificados.
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
Parâmetros
- constructor
- ConstructorInfo
O ConstructorInfo com um valor igual ao qual a Constructor propriedade será definida.
- arguments
- IEnumerable<Expression>
Um IEnumerable<T> que contém objetos Expression a serem usados para preencher a coleção de Arguments.
- members
- IEnumerable<MemberInfo>
Um IEnumerable<T> que contém objetos MemberInfo a serem usados para preencher a coleção de Members.
Retornos
Um NewExpression que tem a propriedade NodeType igual a New e as propriedades Constructor, Arguments e Members definidas para os valores especificados.
Exceções
constructor
é null
.
- ou -
Um elemento de arguments
é null
.
- ou -
Um elemento de members
é null
.
O parâmetro arguments
não contém o mesmo número de elementos que o número de parâmetros do construtor representado por constructor
.
- ou -
A propriedade Type de um elemento de arguments
não pode ser atribuída ao tipo do parâmetro correspondente do construtor representado por constructor
.
- ou -
O parâmetro members
não tem o mesmo número de elementos de arguments
.
- ou -
Um elemento de arguments
tem uma propriedade Type que representa um tipo que não é atribuível ao tipo do membro que é representado pelo elemento correspondente de members
.
Comentários
O arguments
parâmetro deve conter o mesmo número de elementos que o número de parâmetros para o construtor representado por constructor
. Se arguments
for null
, ele será considerado vazio e a Arguments propriedade do resultante NewExpression será uma coleção vazia.
Se members
for null
, a Members propriedade do resultante NewExpression será uma coleção vazia. Se members
não null
for , ele deverá ter o mesmo número de elementos arguments
que e cada elemento não deve ser null
. Cada elemento de members
deve ser um PropertyInfoou FieldInfoMethodInfo que representa um membro de instância no tipo de declaração do construtor representado por constructor
. Se ela representar uma propriedade, a propriedade deverá ter um get
acessador. O elemento correspondente de arguments
para cada elemento de members
deve ter uma Type propriedade que representa um tipo atribuível ao tipo do membro que o members
elemento representa.
A Type propriedade do resultante NewExpression representa o tipo de declaração do construtor que constructor
representa.
Aplica-se a
New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
Cria um NewExpression que representa uma chamada ao construtor especificado com os argumentos especificados. Os membros que acessam os campos inicializados pelo construtor são especificados como uma matriz.
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
Parâmetros
- constructor
- ConstructorInfo
O ConstructorInfo com um valor igual ao qual a Constructor propriedade será definida.
- arguments
- IEnumerable<Expression>
Um IEnumerable<T> que contém objetos Expression a serem usados para preencher a coleção de Arguments.
- members
- MemberInfo[]
Uma matriz de objetos MemberInfo a serem usados para popular a coleção de Members.
Retornos
Um NewExpression que tem a propriedade NodeType igual a New e as propriedades Constructor, Arguments e Members definidas para os valores especificados.
Exceções
constructor
é null
.
- ou -
Um elemento de arguments
é null
.
- ou -
Um elemento de members
é null
.
O parâmetro arguments
não contém o mesmo número de elementos que o número de parâmetros do construtor representado por constructor
.
- ou -
A propriedade Type de um elemento de arguments
não pode ser atribuída ao tipo do parâmetro correspondente do construtor representado por constructor
.
- ou -
O parâmetro members
não tem o mesmo número de elementos de arguments
.
- ou -
Um elemento de arguments
tem uma propriedade Type que representa um tipo que não é atribuível ao tipo do membro que é representado pelo elemento correspondente de members
.
Comentários
O arguments
parâmetro deve conter o mesmo número de elementos que o número de parâmetros para o construtor representado por constructor
. Se arguments
for null
, ele será considerado vazio e a Arguments propriedade do resultante NewExpression será uma coleção vazia.
Se members
for null
, a Members propriedade do resultante NewExpression será uma coleção vazia. Se members
não null
for , ele deverá ter o mesmo número de elementos arguments
que e cada elemento não deve ser null
. Cada elemento de members
deve ser um PropertyInfoou FieldInfoMethodInfo que representa um membro de instância no tipo de declaração do construtor representado por constructor
. Se ela representar uma propriedade, a propriedade deverá ser capaz de recuperar o valor do campo associado. O elemento correspondente de arguments
para cada elemento de members
deve ter uma Type propriedade que representa um tipo atribuível ao tipo do membro que o members
elemento representa.
A Type propriedade do resultante NewExpression representa o tipo de declaração do construtor que constructor
representa.