Compartir vía


Expression.New Método

Definición

Crea un NewExpression.

Sobrecargas

Nombre Description
New(ConstructorInfo)

Crea un NewExpression objeto que representa la llamada al constructor especificado que no toma ningún argumento.

New(Type)

Crea un NewExpression objeto que representa la llamada al constructor sin parámetros del tipo especificado.

New(ConstructorInfo, IEnumerable<Expression>)

Crea un NewExpression objeto que representa la llamada al constructor especificado con los argumentos especificados.

New(ConstructorInfo, Expression[])

Crea un NewExpression objeto que representa la llamada al constructor especificado con los argumentos especificados.

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

Crea un NewExpression objeto que representa la llamada al constructor especificado con los argumentos especificados. Se especifican los miembros que acceden a los campos inicializados del constructor.

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

Crea un NewExpression objeto que representa la llamada al constructor especificado con los argumentos especificados. Los miembros que acceden a los campos inicializados del constructor se especifican como una matriz.

New(ConstructorInfo)

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

Crea un NewExpression objeto que representa la llamada al constructor especificado que no toma ningún 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

que ConstructorInfo se va a establecer la Constructor propiedad igual a.

Devoluciones

que NewExpression tiene la NodeType propiedad igual a New y la Constructor propiedad establecida en el valor especificado.

Excepciones

constructor es null.

El constructor que constructor representa tiene al menos un parámetro.

Comentarios

Las Arguments propiedades y Members del resultado NewExpression son colecciones vacías. La Type propiedad representa el tipo declarante del constructor representado por constructor.

Se aplica a

New(Type)

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

Crea un NewExpression objeto que representa la llamada al constructor sin parámetros del 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

Type que tiene un constructor que no toma ningún argumento.

Devoluciones

que NewExpression tiene la NodeType propiedad igual a New y la Constructor propiedad establecida en que ConstructorInfo representa el constructor sin parámetros para el tipo especificado.

Excepciones

type es null.

El tipo que type representa no tiene un constructor sin parámetros.

Ejemplos

En el ejemplo siguiente se muestra cómo usar el New(Type) método para crear un NewExpression objeto que representa la construcción de una nueva instancia de un objeto de diccionario llamando al constructor sin 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()

Comentarios

El type parámetro debe representar un tipo que tenga un constructor sin parámetros.

Las Arguments propiedades y Members del resultado NewExpression son colecciones vacías. La Type propiedad es igual a type.

Se aplica a

New(ConstructorInfo, IEnumerable<Expression>)

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

Crea un NewExpression objeto que representa la llamada al constructor especificado con los 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

que ConstructorInfo se va a establecer la Constructor propiedad igual a.

arguments
IEnumerable<Expression>

que IEnumerable<T> contiene Expression objetos que se van a usar para rellenar la Arguments colección.

Devoluciones

que NewExpression tiene la NodeType propiedad igual a New y las Constructor propiedades y Arguments establecidas en los valores especificados.

Excepciones

constructor es null.

O bien

Un elemento de arguments es null.

El arguments parámetro no contiene el mismo número de elementos que el número de parámetros para el constructor que constructor representa.

O bien

La Type propiedad de un elemento de arguments no se puede asignar al tipo del parámetro correspondiente del constructor que constructor representa.

Comentarios

El arguments parámetro debe contener el mismo número de elementos que el número de parámetros para el constructor representado por constructor. Si arguments es null, se considera vacío y la Arguments propiedad del resultado NewExpression es una colección vacía.

La Type propiedad del resultante NewExpression representa el tipo declarante del constructor representado por constructor. La Members propiedad es una colección vacía.

Se aplica a

New(ConstructorInfo, Expression[])

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

Crea un NewExpression objeto que representa la llamada al constructor especificado con los 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

que ConstructorInfo se va a establecer la Constructor propiedad igual a.

arguments
Expression[]

Matriz de Expression objetos que se van a usar para rellenar la Arguments colección.

Devoluciones

que NewExpression tiene la NodeType propiedad igual a New y las Constructor propiedades y Arguments establecidas en los valores especificados.

Excepciones

constructor es null.

O bien

Un elemento de arguments es null.

La longitud de arguments coincide con el número de parámetros del constructor que constructor representa.

O bien

La Type propiedad de un elemento de arguments no se puede asignar al tipo del parámetro correspondiente del constructor que constructor representa.

Comentarios

El arguments parámetro debe contener el mismo número de elementos que el número de parámetros para el constructor representado por constructor. Si arguments es null, se considera vacío y la Arguments propiedad del resultado NewExpression es una colección vacía.

La Type propiedad del resultante NewExpression representa el tipo declarante del constructor representado por constructor. La Members propiedad es una colección vacía.

Se aplica a

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

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

Crea un NewExpression objeto que representa la llamada al constructor especificado con los argumentos especificados. Se especifican los miembros que acceden a los campos inicializados del constructor.

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

que ConstructorInfo se va a establecer la Constructor propiedad igual a.

arguments
IEnumerable<Expression>

que IEnumerable<T> contiene Expression objetos que se van a usar para rellenar la Arguments colección.

members
IEnumerable<MemberInfo>

que IEnumerable<T> contiene MemberInfo objetos que se van a usar para rellenar la Members colección.

Devoluciones

que NewExpression tiene la NodeType propiedad igual a New y las Constructorpropiedades , Arguments y Members establecidas en los valores especificados.

Atributos

Excepciones

constructor es null.

O bien

Un elemento de arguments es null.

O bien

Un elemento de members es null.

El arguments parámetro no contiene el mismo número de elementos que el número de parámetros para el constructor que constructor representa.

O bien

La Type propiedad de un elemento de arguments no se puede asignar al tipo del parámetro correspondiente del constructor que constructor representa.

O bien

El members parámetro no tiene el mismo número de elementos que arguments.

O bien

Un elemento de arguments tiene una Type propiedad que representa un tipo que no se puede asignar al tipo del miembro representado por el elemento correspondiente de members.

Comentarios

El arguments parámetro debe contener el mismo número de elementos que el número de parámetros para el constructor representado por constructor. Si arguments es null, se considera vacío y la Arguments propiedad del resultado NewExpression es una colección vacía.

Si members es null, la Members propiedad del resultado NewExpression es una colección vacía. Si members no nulles , debe tener el mismo número de elementos que arguments y cada elemento no debe ser null. Cada elemento de members debe ser , PropertyInfoFieldInfo o MethodInfo que representa un miembro de instancia en el tipo declarativo del constructor representado por constructor. Si representa una propiedad, la propiedad debe tener un get descriptor de acceso. El elemento correspondiente de arguments para cada elemento de members debe tener una Type propiedad que represente un tipo que se pueda asignar al tipo del miembro que representa el members elemento.

La Type propiedad del resultante NewExpression representa el tipo declarante del constructor que constructor representa.

Se aplica a

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

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

Crea un NewExpression objeto que representa la llamada al constructor especificado con los argumentos especificados. Los miembros que acceden a los campos inicializados del constructor se especifican como una 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

que ConstructorInfo se va a establecer la Constructor propiedad igual a.

arguments
IEnumerable<Expression>

que IEnumerable<T> contiene Expression objetos que se van a usar para rellenar la Arguments colección.

members
MemberInfo[]

Matriz de MemberInfo objetos que se van a usar para rellenar la Members colección.

Devoluciones

que NewExpression tiene la NodeType propiedad igual a New y las Constructorpropiedades , Arguments y Members establecidas en los valores especificados.

Atributos

Excepciones

constructor es null.

O bien

Un elemento de arguments es null.

O bien

Un elemento de members es null.

El arguments parámetro no contiene el mismo número de elementos que el número de parámetros para el constructor que constructor representa.

O bien

La Type propiedad de un elemento de arguments no se puede asignar al tipo del parámetro correspondiente del constructor que constructor representa.

O bien

El members parámetro no tiene el mismo número de elementos que arguments.

O bien

Un elemento de arguments tiene una Type propiedad que representa un tipo que no se puede asignar al tipo del miembro representado por el elemento correspondiente de members.

Comentarios

El arguments parámetro debe contener el mismo número de elementos que el número de parámetros para el constructor representado por constructor. Si arguments es null, se considera vacío y la Arguments propiedad del resultado NewExpression es una colección vacía.

Si members es null, la Members propiedad del resultado NewExpression es una colección vacía. Si members no nulles , debe tener el mismo número de elementos que arguments y cada elemento no debe ser null. Cada elemento de members debe ser , PropertyInfoFieldInfo o MethodInfo que representa un miembro de instancia en el tipo declarativo del constructor representado por constructor. Si representa una propiedad, la propiedad debe poder recuperar el valor del campo asociado. El elemento correspondiente de arguments para cada elemento de members debe tener una Type propiedad que represente un tipo que se pueda asignar al tipo del miembro que representa el members elemento.

La Type propiedad del resultante NewExpression representa el tipo declarante del constructor que constructor representa.

Se aplica a