ParameterExpression (Clase) (System.Linq.Expressions)

Cambiar vista:
Sin script
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
Propiedad pública 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).
Propiedad pública IsByRef Indica que esta clase ParameterExpression se va a tratar como un parámetro ByRef.
Propiedad pública Bb302740.PortableClassLibrary(es-es,VS.100).gif Name Obtiene el nombre del parámetro o variable.
Propiedad pública NodeType Devuelve el tipo de nodo de este objeto Expression. (Invalida a Expression.NodeType).
Propiedad pública Type Obtiene el tipo estático de la expresión que Expression representa. (Invalida a Expression.Type).
Arriba
Métodos

  Nombre Descripción
Método protegido 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)).
Método público Bb302740.PortableClassLibrary(es-es,VS.100).gif Equals(Object) Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido Bb302740.PortableClassLibrary(es-es,VS.100).gif 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).
Método público Bb302740.PortableClassLibrary(es-es,VS.100).gif GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público Bb302740.PortableClassLibrary(es-es,VS.100).gif GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método protegido Bb302740.PortableClassLibrary(es-es,VS.100).gif MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método público 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).
Método público 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).
Método público 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).
Método público Bb302740.PortableClassLibrary(es-es,VS.100).gif ToString Devuelve una representación textual de Expression. (Se hereda de Expression).
Método protegido 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).
Arriba
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 SP1

Compatible 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

Referencia