Biblioteca de clases de .NET Framework
ParameterExpression (Clase)
Este artículo se tradujo de forma manual. Para mostrar esta página y el contenido original en inglés al mismo tiempo, cambie a Lightweight según sus preferencias de visualización.
Representa una expresión de parámetro con nombre.
Jerarquía de herencia
System.Object
System.Linq.Expressions.Expression
System.Linq.Expressions.ParameterExpression
Espacio de nombres: System.Linq.Expressions
Ensamblado: System.Core (en System.Core.dll)
Sintaxis
Visual Basic
Public Class ParameterExpression _ Inherits Expression
C#
public class ParameterExpression : Expression
Visual C++
public ref class ParameterExpression : public Expression
F#
type ParameterExpression = class inherit Expression end
El tipo ParameterExpression expone los siguientes miembros.
Propiedades
| Nombre | Descripción | |
|---|---|---|
|
CanReduce | Indica que el nodo se puede reducir a uno más simple. Si devuelve true, se puede llamar a Reduce() para generar el formulario reducido. (Se hereda de Expression). |
|
IsByRef | Indica que esta clase ParameterExpression se va a tratar como un parámetro ByRef. |
|
Name | Obtiene el nombre del parámetro o variable. |
|
NodeType | Devuelve el tipo de nodo de este objeto Expression. (Invalida a Expression.NodeType). |
|
Type | Obtiene el tipo estático de la expresión que Expression representa. (Invalida a Expression.Type). |
Métodos
| Nombre | Descripción | |
|---|---|---|
|
Accept | Envía la expresión al método de visita específico de este tipo de nodo. Por ejemplo, el objeto MethodCallExpression llama al método VisitMethodCall. (Invalida a Expression.Accept(ExpressionVisitor)). |
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
Reduce | Reduce este nodo a una expresión más simple. Si CanReduce devuelve true, debería devolver una expresión válida. Este método puede devolver otro nodo que se debe reducir a su vez. (Se hereda de Expression). |
|
ReduceAndCheck | Reduce este nodo a una expresión más simple. Si CanReduce devuelve true, debería devolver una expresión válida. Este método puede devolver otro nodo que se debe reducir a su vez. (Se hereda de Expression). |
|
ReduceExtensions | Reduce la expresión a un tipo de nodo conocido (no es un nodo de extensión) o, si ya es un tipo conocido, solo devuelve la expresión. (Se hereda de Expression). |
|
ToString | Devuelve una representación textual de Expression. (Se hereda de Expression). |
|
VisitChildren | Reduce el nodo y, a continuación, llama al delegado del visitante en la expresión reducida. El método inicia una excepción si el nodo no es reducible. (Se hereda de Expression). |
Comentarios
Utilice el método de generador Parameter para crear ParameterExpression.
El valor de la propiedad NodeType de un objeto ParameterExpression es Parameter.
Ejemplos
En el siguiente ejemplo se muestra cómo crear un objeto MethodCallExpression que imprime el valor de un objeto ParameterExpression usando el método Parameter.
Visual Basic
' Add the following directive to the file: ' Imports System.Linq.Expressions ' Creating a parameter for the expression tree. Dim param As ParameterExpression = Expression.Parameter(GetType(Integer)) ' Creating an expression for the method call and specifying its parameter. Dim methodCall As MethodCallExpression = Expression.Call( GetType(Console).GetMethod("WriteLine", New Type() {GetType(Integer)}), param ) ' Compiling and invoking the methodCall expression. Expression.Lambda(Of Action(Of Integer))( methodCall, New ParameterExpression() {param} ).Compile()(10) ' This code example produces the following output: ' ' 10
C#
// Add the following directive to the file: // using System.Linq.Expressions; // Creating a parameter for the expression tree. ParameterExpression param = Expression.Parameter(typeof(int)); // Creating an expression for the method call and specifying its parameter. MethodCallExpression methodCall = Expression.Call( typeof(Console).GetMethod("WriteLine", new Type[] { typeof(int) }), param ); // The following statement first creates an expression tree, // then compiles it, and then runs it. Expression.Lambda<Action<int>>( methodCall, new ParameterExpression[] { param } ).Compile()(10); // This code example produces the following output: // // 10
Información de versión
.NET Framework
Compatible con: 4, 3.5.NET Framework Client Profile
Compatible con: 4, 3.5 SP1Compatible con:
Plataformas
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.Vea también