Expression.Type Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets the static type of the expression that this Expression represents.

Namespace:   System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

public virtual Type Type { get; }

Property Value

Type: System.Type

The Type that represents the static type of the expression.

The NodeType is the type of the expression tree node, whereas the Type represents the static common language runtime (CLR) type of the expression that the node represents. For example, two nodes with different node types can have the same Type, as shown in the following code example.

// Add the following directive to your file:
// using System.Linq.Expressions;  

ConstantExpression constExpr = Expression.Constant(5);
Console.WriteLine("NodeType: " + constExpr.NodeType);
Console.WriteLine("Type: " + constExpr.Type);

BinaryExpression binExpr = Expression.Add(constExpr, constExpr);
Console.WriteLine("NodeType: " + binExpr.NodeType);
Console.WriteLine("Type: " + binExpr.Type);

// This code example produces the following output:
// NodeType: Constant
// Type: System.Int32
// NodeType: Add
// Type: System.Int32

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top