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 null
es , 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 arguments
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
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 null
es , 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.