Expression.TypeAs Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Creates a UnaryExpression that represents an explicit reference or boxing conversion where nulla null reference (Nothing in Visual Basic) is supplied if the conversion fails.
Namespace: System.Linq.Expressions
Assembly: System.Core (in System.Core.dll)
Syntax
'Declaration
Public Shared Function TypeAs ( _
expression As Expression, _
type As Type _
) As UnaryExpression
public static UnaryExpression TypeAs(
Expression expression,
Type type
)
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 nulla null reference (Nothing in Visual Basic). |
Remarks
The Method property of the resulting UnaryExpression is nulla null reference (Nothing in Visual Basic). 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.
' 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]"))
outputBlock.Text &= typeAsExpression.ToString() & vbCrLf
' This code produces the following output:
'
' (34 As Nullable`1)
// 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?));
outputBlock.Text += typeAsExpression.ToString() + "\n";
// This code produces the following output:
//
// (34 As Nullable`1)
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.