Leer en inglés

Compartir a través de


Type.BaseType Propiedad

Definición

Obtiene el tipo del que hereda directamente el objeto Type actual.

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

Valor de propiedad

Type

Type desde el cual el objeto Type actual hereda directamente, o null si el objeto Type actual representa la clase Object o una interfaz.

Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo usar la BaseType propiedad .

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

En el ejemplo siguiente se usa recursividad para enumerar la jerarquía de herencia completa de cada clase encontrada en un ensamblado. En el ejemplo se define una clase denominada que deriva de una clase denominada , que, a su vez, deriva C de una clase denominada 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

Comentarios

El tipo base es el tipo del que hereda directamente el tipo actual. Object es el único tipo que no tiene un tipo base, por lo que null se devuelve como el tipo base de Object .

Las interfaces heredan de cero o más interfaces base; por lo tanto, esta propiedad null devuelve si el objeto representa una interfaz Type . Las interfaces base se pueden determinar con GetInterfaces o FindInterfaces .

Si el objeto Type actual representa un tipo genérico construido, el tipo base refleja los argumentos genéricos. Por ejemplo, consideremos las siguientes declaraciones:

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

Para el tipo construido C<int> ( C(Of Integer) en Visual Basic), la propiedad devuelve BaseType B<int> .

Si el objeto actual representa un parámetro de tipo de una definición de tipo genérico, devuelve la restricción de clase, es decir, la clase que el Type parámetro de tipo debe BaseType heredar. Si no hay ninguna restricción de clase, BaseType devuelve System.Object .

Esta propiedad es de sólo lectura.

Se aplica a

Producto Versiones
.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

Consulte también