Expression.TypeAs Method (System.Linq.Expressions)

Switch View :
ScriptFree
.NET Framework Class Library
Expression.TypeAs Method

Creates a UnaryExpression that represents an explicit reference or boxing conversion where null is supplied if the conversion fails.

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

Visual Basic
Public Shared Function TypeAs ( _
	expression As Expression, _
	type As Type _
) As UnaryExpression
C#
public static UnaryExpression TypeAs(
	Expression expression,
	Type type
)
Visual C++
public:
static UnaryExpression^ TypeAs(
	Expression^ expression, 
	Type^ type
)
F#
static member TypeAs : 
        expression:Expression * 
        type:Type -> UnaryExpression 

Parameters

expression
Type: System.Linq.Expressions.Expression
An Expression to set the Operand property equal to.
type
Type: System.Type
A Type to set the Type property equal to.

Return Value

Type: System.Linq.Expressions.UnaryExpression
A UnaryExpression that has the NodeType property equal to TypeAs and the Operand and Type properties set to the specified values.
Exceptions

Exception Condition
ArgumentNullException

expression or type is null.

Remarks

The Method property of the resulting UnaryExpression is null. The IsLifted and IsLiftedToNull properties are both false.

Examples

The following example demonstrates how to use the TypeAs(Expression, Type) method to create a UnaryExpression that represents the reference conversion of a non-nullable integer expression to the nullable integer type.

Visual Basic

' Create a UnaryExpression that represents a reference
' conversion of an Integer to an Integer? (a nullable Integer).
Dim typeAsExpression As System.Linq.Expressions.UnaryExpression = _
    System.Linq.Expressions.Expression.TypeAs( _
        System.Linq.Expressions.Expression.Constant(34, Type.GetType("System.Int32")), _
        Type.GetType("System.Nullable`1[System.Int32]"))

Console.WriteLine(typeAsExpression.ToString())

' This code produces the following output:
'
' (34 As Nullable`1)


C#

// Create a UnaryExpression that represents a
// conversion of an int to an int?.
System.Linq.Expressions.UnaryExpression typeAsExpression =
    System.Linq.Expressions.Expression.TypeAs(
        System.Linq.Expressions.Expression.Constant(34, typeof(int)),
        typeof(int?));

Console.WriteLine(typeAsExpression.ToString());

// This code produces the following output:
//
// (34 As Nullable`1)


Version Information

.NET Framework

Supported in: 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
See Also

Reference