GetUnderlyingType Method
Collapse the table of content
Expand the table of content

Nullable.GetUnderlyingType Method

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Returns the underlying type argument of the specified nullable type.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public Shared Function GetUnderlyingType ( _
	nullableType As Type _
) As Type

Parameters

nullableType
Type: System.Type
A Type object that describes a closed generic nullable type.

Return Value

Type: System.Type
The type argument of the nullableType parameter, if the nullableType parameter is a closed generic nullable type; otherwise, Nothing.

ExceptionCondition
ArgumentNullException

nullableType is Nothing.

A generic type definition is a type declaration, such as Nullable(Of T), that contains a type parameter list, and the type parameter list declares one or more type parameters. A closed generic type is a type declaration where a particular type is specified for a type parameter.

For example, if the nullableType parameter is the type of Nullable<Int32> in C# (Nullable(Of Int32) in Visual Basic), the return value is the type of Int32 (that is, the type argument of the closed generic type).

The following code example defines a method whose return value is of type Nullable(Of T) of Int32. The code example uses the GetUnderlyingType method to display the type argument of the return value.


' This code example demonstrates the 
' Nullable.GetUnderlyingType() method.

Imports System.Reflection

Class Example
   ' Declare a type named Example. 
   ' The MyMethod member of Example returns a Nullable of Int32.

   Public Class Example
      Public Function MyMethod() As Nullable(Of Integer)
         Return 0
      End Function
   End Class

   ' 
   '   Use reflection to obtain a Type object for the Example type.
   '   Use the Type object to obtain a MethodInfo object for the MyMethod method.
   '   Use the MethodInfo object to obtain the type of the return value of 
   '     MyMethod, which is Nullable of Int32.
   '   Use the GetUnderlyingType method to obtain the type argument of the 
   '     return value type, which is Int32.
   '
   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      Dim t As Type = GetType(Example)
      Dim mi As MethodInfo = t.GetMethod("MyMethod")
      Dim retval As Type = mi.ReturnType
      outputBlock.Text += String.Format("Return value type ... {0}", retval) & vbCrLf
      Dim answer As Type = Nullable.GetUnderlyingType(retval)
      outputBlock.Text += String.Format("Underlying type ..... {0}", answer) & vbCrLf

   End Sub 'Main
End Class 'Sample
'
'This code example produces the following results:
'
'Return value type ... System.Nullable`1[System.Int32]
'Underlying type ..... System.Int32
'


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft