Compartir vía


Expression.New Método

Definición

Crea una interfaz NewExpression.

Sobrecargas

New(ConstructorInfo)

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

New(Type)

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

New(ConstructorInfo, IEnumerable<Expression>)

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

New(ConstructorInfo, Expression[])

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

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

Crea un objeto NewExpression que representa la llamada al constructor especificado con los argumentos especificados. Se especifican los miembros que obtienen acceso a los campos inicializados por el constructor.

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

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

New(ConstructorInfo)

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

Crea un objeto NewExpression 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

Objeto ConstructorInfo en el que se va a establecer la propiedad Constructor.

Devoluciones

NewExpression cuya propiedad NodeType es New y cuya propiedad Constructor se establece en el valor especificado.

Excepciones

constructor es null.

El constructor que constructor representa tiene por lo menos un parámetro.

Comentarios

Las Arguments propiedades y Members del resultante 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

Crea un objeto NewExpression 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

NewExpression cuya propiedad NodeType es New y cuya propiedad Constructor se establece en el objeto ConstructorInfo que representa el constructor sin parámetros del 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 mediante una llamada 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 resultante 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

Crea un objeto NewExpression 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

Objeto ConstructorInfo en el que se va a establecer la propiedad Constructor.

arguments
IEnumerable<Expression>

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

Devoluciones

NewExpression cuya propiedad NodeType es New y cuyas propiedades Constructor y Arguments se establecen en los valores especificados.

Excepciones

constructor es null.

o bien

Un elemento de arguments es null.

El parámetro arguments no contiene el mismo número de elementos que el número de parámetros del constructor representado por constructor.

o bien

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

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 resultante 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

Crea un objeto NewExpression 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

Objeto ConstructorInfo en el que se va a establecer la propiedad Constructor.

arguments
Expression[]

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

Devoluciones

NewExpression cuya propiedad NodeType es New y cuyas propiedades Constructor y Arguments se establecen 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 propiedad Type de un elemento de arguments no se puede asignar al tipo del parámetro correspondiente del constructor que representa constructor.

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 resultante 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

Crea un objeto NewExpression que representa la llamada al constructor especificado con los argumentos especificados. Se especifican los miembros que obtienen acceso a los campos inicializados por el 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);
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

Objeto ConstructorInfo en el que se va a establecer la propiedad Constructor.

arguments
IEnumerable<Expression>

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

members
IEnumerable<MemberInfo>

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

Devoluciones

Objeto NewExpression cuya propiedad NodeType es New y cuyas propiedades Constructor, Arguments y Members se establecen en los valores especificados.

Excepciones

constructor es null.

o bien

Un elemento de arguments es null.

o bien

Un elemento de members es null.

El parámetro arguments no contiene el mismo número de elementos que el número de parámetros del constructor representado por constructor.

o bien

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

o bien

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

o bien

Un elemento de arguments tiene una propiedad Type 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 resultante NewExpression es una colección vacía.

Si members es null, la Members propiedad del resultante 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 para cada elemento de argumentsmembers 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

Crea un objeto NewExpression que representa la llamada al constructor especificado con los argumentos especificados. Los miembros que obtienen acceso a los campos inicializados por el 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);
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

Objeto ConstructorInfo en el que se va a establecer la propiedad Constructor.

arguments
IEnumerable<Expression>

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

members
MemberInfo[]

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

Devoluciones

Objeto NewExpression cuya propiedad NodeType es New y cuyas propiedades Constructor, Arguments y Members se establecen en los valores especificados.

Excepciones

constructor es null.

o bien

Un elemento de arguments es null.

o bien

Un elemento de members es null.

El parámetro arguments no contiene el mismo número de elementos que el número de parámetros del constructor representado por constructor.

o bien

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

o bien

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

o bien

Un elemento de arguments tiene una propiedad Type 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 resultante NewExpression es una colección vacía.

Si members es null, la Members propiedad del resultante 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