Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Type.BaseType (Propiedad)

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

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

public abstract Type BaseType { get; }

Valor de propiedad

Tipo: System.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

_Type.BaseType

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 consiguiente null se devuelve como el tipo base de Object.

Las interfaces heredan de ninguna o varias interfaces base; por consiguiente, esta propiedad devuelve null si el objeto Type representa una interfaz. 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:


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


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

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

Esta propiedad es de sólo lectura.

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


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


El ejemplo siguiente usa la recursividad para mostrar la jerarquía de herencia completa de cada clase encontrada en un ensamblado. El ejemplo define una clase denominada C que deriva de una clase denominada B, que, a su vez, se deriva de una clase denominada A.


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


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft