Ler em inglês

Compartilhar via


Type.BaseType Propriedade

Definição

Obtém o tipo do qual o Type atual é herdado diretamente.

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

Valor da propriedade

O Type do qual o Type atual é herdado diretamente ou null se o Type atual representar a classe Object ou uma interface.

Implementações

Exemplos

O exemplo a seguir demonstra como usar a BaseType propriedade .

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

O exemplo a seguir usa recursão para listar a hierarquia de herança completa de cada classe encontrada em um assembly. O exemplo define uma classe chamada C que deriva de uma classe chamada B, que, por sua vez, deriva de uma classe chamada 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

Comentários

O tipo base é o tipo do qual o tipo atual herda diretamente. Object é o único tipo que não tem um tipo base, portanto null , é retornado como o tipo base de Object.

As interfaces herdam de zero ou mais interfaces base; portanto, essa propriedade retornará null se o Type objeto representar uma interface. As interfaces base podem ser determinadas com GetInterfaces ou FindInterfaces.

Se o atual Type representar um tipo genérico construído, o tipo base refletirá os argumentos genéricos. Por exemplo, considere as declarações a seguir:

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

Para o tipo C<int> construído (C(Of Integer) no Visual Basic), a BaseType propriedade retorna B<int>.

Se o atual Type representar um parâmetro de tipo de uma definição de tipo genérico, BaseType retornará a restrição de classe, ou seja, a classe que o parâmetro de tipo deve herdar. Se não houver nenhuma restrição de classe, BaseType retornará System.Object.

Esta propriedade é somente para leitura.

Aplica-se a

Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.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, 4.8.1
.NET Standard 2.0, 2.1

Confira também