Type.BaseType Właściwość

Definicja

Pobiera typ, z którego dziedziczy Type bezpośrednio bieżący.

C#
public abstract Type? BaseType { get; }
C#
public abstract Type BaseType { get; }

Wartość właściwości

Type

Element, Type z którego bieżący dziedziczy bezpośrednio, lub jeśli bieżący reprezentuje Type null Type Object klasę lub interfejs.

Implementuje

Przykłady

W poniższym przykładzie pokazano użycie BaseType właściwości .

C#
using System;
class TestType
{
    public static void Main()
    {
        Type t = typeof(int);
        Console.WriteLine("{0} inherits from {1}.", t,t.BaseType);
    }
}

W poniższym przykładzie użyto rekursji, aby wyświetlić pełną hierarchię dziedziczenia każdej klasy znalezionej w zestawie. W przykładzie zdefiniowano klasę o nazwie pochodzącą od klasy o nazwie , która z kolei pochodzi C od klasy o nazwie B A .

C#
using System;

public class Example
{
   public static void Main()
   {
      foreach (var t in typeof(Example).Assembly.GetTypes()) {
         Console.WriteLine("{0} derived from: ", t.FullName);
         var derived = t;
         do { 
            derived = derived.BaseType;
            if (derived != null) 
               Console.WriteLine("   {0}", derived.FullName);
         } while (derived != null);
         Console.WriteLine(); 
      } 
   }
}

public class A {} 

public class B : A
{}

public class C : B   
{}
// The example displays the following output:
//       Example derived from:
//          System.Object
//       
//       A derived from:
//          System.Object
//       
//       B derived from:
//          A
//          System.Object
//       
//       C derived from:
//          B
//          A
//          System.Object

Uwagi

Typ podstawowy to typ, z którego bieżący typ bezpośrednio dziedziczy. Object jest jedynym typem, który nie ma typu podstawowego, dlatego null jest zwracany jako typ podstawowy Object .

Interfejsy dziedziczą z zera lub większej liczby interfejsów podstawowych; w związku z tym ta właściwość zwraca null wartość , jeśli obiekt reprezentuje Type interfejs. Interfejsy podstawowe można określić za pomocą GetInterfaces lub FindInterfaces .

Jeśli bieżący reprezentuje Type skonstruowany typ ogólny, typ podstawowy odzwierciedla argumenty ogólne. Rozważmy na przykład następujące deklaracje:

C#
class B<U> { }
class C<T> : B<T> { }

Dla skonstruowanego typu C<int> ( C(Of Integer) w Visual Basic) właściwość zwraca wartość BaseType B<int> .

Jeśli bieżący reprezentuje parametr typu definicji typu ogólnego, zwraca ograniczenie klasy, czyli klasę, która musi dziedziczyć Type BaseType parametr typu. Jeśli nie ma ograniczenia klasy, zwraca BaseType wartość System.Object .

Ta właściwość jest tylko do odczytu.

Dotyczy

Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1

Zobacz też