Nullable.GetUnderlyingType(Type) Yöntem

Tanım

Belirtilen null atanabilir türün temel tür bağımsız değişkenini döndürür.

public:
 static Type ^ GetUnderlyingType(Type ^ nullableType);
public static Type GetUnderlyingType (Type nullableType);
public static Type? GetUnderlyingType (Type nullableType);
static member GetUnderlyingType : Type -> Type
Public Shared Function GetUnderlyingType (nullableType As Type) As Type

Parametreler

nullableType
Type

Type Kapalı genel null atanabilir türü açıklayan bir nesne.

Döndürülenler

Type

Parametre kapalı genel null atanabilir bir türse parametresinin nullableType tür bağımsız değişkeninullableType; aksi takdirde , null.

Özel durumlar

nullableType, null değeridir.

Örnekler

Aşağıdaki kod örneği, dönüş değeri türünde Nullable<T> Int32olan bir yöntemi tanımlar. Kod örneği, dönüş değerinin GetUnderlyingType tür bağımsız değişkenini görüntülemek için yöntemini kullanır.

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

using System;
using System.Reflection;

class Sample
{
// Declare a type named Example.
// The MyMethod member of Example returns a Nullable of Int32.

    public class Example
    {
        public int? MyMethod()
        {
        return 0;
        }
    }

/*
   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 static void Main()
    {
        Type t = typeof(Example);
        MethodInfo mi = t.GetMethod("MyMethod");
        Type retval = mi.ReturnType;
        Console.WriteLine("Return value type ... {0}", retval);
        Type answer = Nullable.GetUnderlyingType(retval);
        Console.WriteLine("Underlying type ..... {0}", answer);
    }
}
/*
This code example produces the following results:

Return value type ... System.Nullable`1[System.Int32]
Underlying type ..... System.Int32

*/
// This code example demonstrates the
// Nullable.GetUnderlyingType() method.
open System

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

type Example() =
    member _.MyMethod() =
        Nullable 0

(*
   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.
*)
let t = typeof<Example>
let mi = t.GetMethod "MyMethod"
let retval = mi.ReturnType
printfn $"Return value type ... {retval}"
let answer = Nullable.GetUnderlyingType retval
printfn $"Underlying type ..... {answer}"

// This code example produces the following results:
//     Return value type ... System.Nullable`1[System.Int32]
//     Underlying type ..... System.Int32
' This code example demonstrates the 
' Nullable.GetUnderlyingType() method.

Imports System.Reflection

Class Sample
    ' 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 Main() 
        Dim t As Type = GetType(Example)
        Dim mi As MethodInfo = t.GetMethod("MyMethod")
        Dim retval As Type = mi.ReturnType
        Console.WriteLine("Return value type ... {0}", retval)
        Dim answer As Type = Nullable.GetUnderlyingType(retval)
        Console.WriteLine("Underlying type ..... {0}", answer)
    
    End Sub
End Class
'
'This code example produces the following results:
'
'Return value type ... System.Nullable`1[System.Int32]
'Underlying type ..... System.Int32
'

Açıklamalar

Genel tür tanımı, Nullable<T>tür parametre listesi içeren gibi bir tür bildirimidir ve tür parametre listesi bir veya daha fazla tür parametresi bildirir. Kapalı genel tür, bir tür parametresi için belirli bir türün belirtildiği tür bildirimidir.

Örneğin, parametre C# dilindeki (Nullable(Of Int32)Visual Basic) türündeyse nullableType Nullable<Int32>, dönüş değeri türüdür Int32 (yani, kapalı genel türün tür bağımsız değişkeni).

Şunlara uygulanır