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 nullfor , 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 nullfor , 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.