Expression.New Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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
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
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.