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
| Nome | Description |
|---|---|
| New(ConstructorInfo) |
Cria um NewExpression que representa chamar o construtor especificado que não usa argumentos. |
| New(Type) |
Cria um NewExpression que representa a chamada do construtor sem parâmetros do tipo especificado. |
| New(ConstructorInfo, IEnumerable<Expression>) |
Cria um NewExpression que representa chamar o construtor especificado com os argumentos especificados. |
| New(ConstructorInfo, Expression[]) |
Cria um NewExpression que representa chamar o construtor especificado com os argumentos especificados. |
| New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>) |
Cria um NewExpression que representa chamar o construtor especificado com os argumentos especificados. Os membros que acessam os campos inicializados do construtor são especificados. |
| New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) |
Cria um NewExpression que representa chamar o construtor especificado com os argumentos especificados. Os membros que acessam os campos inicializados do construtor são especificados como uma matriz. |
New(ConstructorInfo)
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
Cria um NewExpression que representa chamar o construtor especificado que não usa argumentos.
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
A ConstructorInfo propriedade para a qual definir a Constructor propriedade é igual.
Retornos
Um NewExpression que tem a NodeType propriedade igual a New e a Constructor propriedade definida como o valor especificado.
Exceções
constructor é null.
O construtor que constructor representa tem pelo menos um parâmetro.
Comentários
As Arguments propriedades e Members as propriedades do resultado 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
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
Cria um NewExpression que representa a chamada do construtor sem parâmetros 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
Um NewExpression que tem a NodeType propriedade igual a New e a Constructor propriedade definida como a 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 as propriedades do resultado 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
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
Cria um NewExpression que representa chamar o 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
A ConstructorInfo propriedade para a qual definir a Constructor propriedade é igual.
- arguments
- IEnumerable<Expression>
Um IEnumerable<T> que contém Expression objetos a serem usados para preencher a Arguments coleção.
Retornos
Um NewExpression que tem a NodeType propriedade igual a New e as Constructor propriedades e Arguments definidas para os valores especificados.
Exceções
O arguments parâmetro não contém o mesmo número de elementos que o número de parâmetros para o construtor que constructor representa.
- ou -
A Type propriedade de um elemento de arguments não é atribuível ao tipo do parâmetro correspondente do construtor que constructor representa.
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 é considerado vazio e a Arguments propriedade do resultado NewExpression é uma coleção vazia.
A Type propriedade do resultado 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
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
Cria um NewExpression que representa chamar o 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
A ConstructorInfo propriedade para a qual definir a Constructor propriedade é igual.
- arguments
- Expression[]
Uma matriz de Expression objetos a serem usados para preencher a Arguments coleção.
Retornos
Um NewExpression que tem a NodeType propriedade igual a New e as Constructor propriedades e Arguments definidas para os valores especificados.
Exceções
O comprimento de arguments corresponde ao número de parâmetros para o construtor que constructor representa.
- ou -
A Type propriedade de um elemento de arguments não é atribuível ao tipo do parâmetro correspondente do construtor que constructor representa.
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 é considerado vazio e a Arguments propriedade do resultado NewExpression é uma coleção vazia.
A Type propriedade do resultado 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
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
Cria um NewExpression que representa chamar o construtor especificado com os argumentos especificados. Os membros que acessam os campos inicializados do 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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")>]
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
A ConstructorInfo propriedade para a qual definir a Constructor propriedade é igual.
- arguments
- IEnumerable<Expression>
Um IEnumerable<T> que contém Expression objetos a serem usados para preencher a Arguments coleção.
- members
- IEnumerable<MemberInfo>
Um IEnumerable<T> que contém MemberInfo objetos a serem usados para preencher a Members coleção.
Retornos
Um NewExpression que tem a NodeType propriedade igual a New , e as ArgumentsConstructorpropriedades definidas Members para os valores especificados.
- Atributos
Exceções
constructor é null.
- ou -
Um elemento de arguments é null.
- ou -
Um elemento de members é null.
O arguments parâmetro não contém o mesmo número de elementos que o número de parâmetros para o construtor que constructor representa.
- ou -
A Type propriedade de um elemento de arguments não é atribuível ao tipo do parâmetro correspondente do construtor que constructor representa.
- ou -
O members parâmetro não tem o mesmo número de elementos que arguments.
- ou -
Um elemento tem arguments uma Type propriedade que representa um tipo que não é atribuível ao tipo do membro 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 é considerado vazio e a Arguments propriedade do resultado NewExpression é uma coleção vazia.
Se members for null, a Members propriedade do resultado NewExpression é uma coleção vazia. Se members não nullestiver, ele deve ter o mesmo número de elementos arguments que e cada elemento não deve ser null. Cada elemento deve members ser um PropertyInfo, FieldInfo ou MethodInfo 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 cada elemento members deve ter uma Type propriedade que represente um tipo atribuível ao tipo do membro que o members elemento representa.
A Type propriedade do resultado 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
- Origem:
- NewExpression.cs
- Origem:
- NewExpression.cs
Cria um NewExpression que representa chamar o construtor especificado com os argumentos especificados. Os membros que acessam os campos inicializados do 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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")>]
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
A ConstructorInfo propriedade para a qual definir a Constructor propriedade é igual.
- arguments
- IEnumerable<Expression>
Um IEnumerable<T> que contém Expression objetos a serem usados para preencher a Arguments coleção.
- members
- MemberInfo[]
Uma matriz de MemberInfo objetos a serem usados para preencher a Members coleção.
Retornos
Um NewExpression que tem a NodeType propriedade igual a New , e as ArgumentsConstructorpropriedades definidas Members para os valores especificados.
- Atributos
Exceções
constructor é null.
- ou -
Um elemento de arguments é null.
- ou -
Um elemento de members é null.
O arguments parâmetro não contém o mesmo número de elementos que o número de parâmetros para o construtor que constructor representa.
- ou -
A Type propriedade de um elemento de arguments não é atribuível ao tipo do parâmetro correspondente do construtor que constructor representa.
- ou -
O members parâmetro não tem o mesmo número de elementos que arguments.
- ou -
Um elemento tem arguments uma Type propriedade que representa um tipo que não é atribuível ao tipo do membro 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 é considerado vazio e a Arguments propriedade do resultado NewExpression é uma coleção vazia.
Se members for null, a Members propriedade do resultado NewExpression é uma coleção vazia. Se members não nullestiver, ele deve ter o mesmo número de elementos arguments que e cada elemento não deve ser null. Cada elemento deve members ser um PropertyInfo, FieldInfo ou MethodInfo 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 cada elemento members deve ter uma Type propriedade que represente um tipo atribuível ao tipo do membro que o members elemento representa.
A Type propriedade do resultado NewExpression representa o tipo de declaração do construtor que constructor representa.