Expression.New Método

Definição

Cria um NewExpression.

Sobrecargas

Name Description
New(ConstructorInfo)

Cria um NewExpression que representa a chamada do construtor especificado que não aceita argumentos.

New(Type)

Cria um NewExpression que representa chamar o 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 acedem aos campos inicializados pelo 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 acedem aos campos inicializados pelo construtor são especificados como um array.

New(ConstructorInfo)

Cria um NewExpression que representa a chamada do construtor especificado que não aceita 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

O ConstructorInfo to define a Constructor propriedade igual a.

Devoluções

A NewExpression que tem a NodeType propriedade igual a New e a Constructor propriedade definida ao valor especificado.

Exceções

constructor é null.

O construtor que constructor representa tem pelo menos um parâmetro.

Observações

As Arguments propriedades e Members do resultado NewExpression são coleções vazias. A Type propriedade representa o tipo declarante do construtor representado por constructor.

Aplica-se a

New(Type)

Cria um NewExpression que representa chamar o 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

type
Type

A Type que tem um construtor que não aceita argumentos.

Devoluções

A NewExpression que tem a NodeType propriedade igual a New e a Constructor propriedade definida 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 seguinte 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()

Observações

O type parâmetro deve representar um tipo que tenha um construtor sem parâmetros.

As Arguments propriedades e Members do resultado NewExpression são coleções vazias. A Type propriedade é igual a type.

Aplica-se a

New(ConstructorInfo, IEnumerable<Expression>)

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);
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 to define a Constructor propriedade igual a.

arguments
IEnumerable<Expression>

Um IEnumerable<T> que contém Expression objetos para usar para preencher a Arguments coleção.

Devoluções

A NewExpression que tem a NodeType propriedade igual a New e as Constructor propriedades e Arguments definidas com os valores especificados.

Exceções

constructor é null.

-ou-

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

Observações

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, é considerado vazio, e a Arguments propriedade do resultado NewExpression é uma coleção vazia.

A Type propriedade do resultante NewExpression representa o tipo declarante do construtor representado por constructor. A Members propriedade é uma coleção vazia.

Aplica-se a

New(ConstructorInfo, Expression[])

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);
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 to define a Constructor propriedade igual a.

arguments
Expression[]

Um conjunto de Expression objetos para preencher a Arguments coleção.

Devoluções

A NewExpression que tem a NodeType propriedade igual a New e as Constructor propriedades e Arguments definidas com os valores especificados.

Exceções

constructor é null.

-ou-

Um elemento de arguments é null.

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.

Observações

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, é considerado vazio, e a Arguments propriedade do resultado NewExpression é uma coleção vazia.

A Type propriedade do resultante NewExpression representa o tipo declarante do construtor representado por constructor. A Members propriedade é uma coleção vazia.

Aplica-se a

New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)

Cria um NewExpression que representa chamar o construtor especificado com os argumentos especificados. Os membros que acedem aos 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);
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 to define a Constructor propriedade igual a.

arguments
IEnumerable<Expression>

Um IEnumerable<T> que contém Expression objetos para usar para preencher a Arguments coleção.

members
IEnumerable<MemberInfo>

Um IEnumerable<T> que contém MemberInfo objetos para usar para preencher a Members coleção.

Devoluções

A NewExpression que tem a NodeType propriedade igual a New e a Constructor, Arguments e Members propriedades definidas para os valores especificados.

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 de arguments tem uma Type propriedade que representa um tipo que não é atribuível ao tipo do membro representado pelo elemento correspondente de members.

Observações

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, é considerado vazio, e a Arguments propriedade do resultado NewExpression é uma coleção vazia.

Se members for , a Members propriedade do resultado NewExpression é uma nullcoleção vazia. Se members não nullfor , deve ter o mesmo número de elementos que arguments e cada elemento não pode ser null. Cada elemento de members deve ser um PropertyInfo, FieldInfo ou MethodInfo que represente um membro de instância no tipo declarante do construtor representado por constructor. Se representa uma propriedade, a propriedade deve ter um get acessório. O elemento correspondente de arguments para cada elemento de members deve ter uma Type propriedade que represente um tipo atribuível ao tipo do elemento que o members elemento representa.

A Type propriedade do resultante NewExpression representa o tipo declarante do construtor que constructor representa.

Aplica-se a

New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])

Cria um NewExpression que representa chamar o construtor especificado com os argumentos especificados. Os membros que acedem aos campos inicializados pelo construtor são especificados como um array.

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);
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 to define a Constructor propriedade igual a.

arguments
IEnumerable<Expression>

Um IEnumerable<T> que contém Expression objetos para usar para preencher a Arguments coleção.

members
MemberInfo[]

Um conjunto de MemberInfo objetos para preencher a Members coleção.

Devoluções

A NewExpression que tem a NodeType propriedade igual a New e a Constructor, Arguments e Members propriedades definidas para os valores especificados.

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 de arguments tem uma Type propriedade que representa um tipo que não é atribuível ao tipo do membro representado pelo elemento correspondente de members.

Observações

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, é considerado vazio, e a Arguments propriedade do resultado NewExpression é uma coleção vazia.

Se members for , a Members propriedade do resultado NewExpression é uma nullcoleção vazia. Se members não nullfor , deve ter o mesmo número de elementos que arguments e cada elemento não pode ser null. Cada elemento de members deve ser um PropertyInfo, FieldInfo ou MethodInfo que represente um membro de instância no tipo declarante do construtor representado por constructor. Se representa uma propriedade, essa propriedade deve 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 represente um tipo atribuível ao tipo do elemento que o members elemento representa.

A Type propriedade do resultante NewExpression representa o tipo declarante do construtor que constructor representa.

Aplica-se a