Partilhar via


Expression.New Método

Definição

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

type
Type

Um Type contém um construtor que não aceita argumentos.

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

constructor é null.

- ou -

Um elemento de arguments é 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.

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

constructor é null.

- ou -

Um elemento de arguments é null.

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.

Aplica-se a