Lire en anglais

Partager via


Type.BaseType Propriété

Définition

Obtient le type dont le Type actuel hérite directement.

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

Valeur de propriété

Type

Type dont le Type actuel hérite directement ou null si le Type actuel représente la classe Object ou une interface.

Implémente

Exemples

L’exemple suivant illustre l’utilisation de la BaseType propriété.

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

L’exemple suivant utilise la récursivité pour répertorier la hiérarchie d’héritage complète de chaque classe trouvée dans un assembly. L’exemple définit une classe nommée C qui dérive d’une classe nommée qui, B à son tour, dérive d’une classe nommée 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

Remarques

Le type de base est le type à partir duquel le type actuel hérite directement. Object est le seul type qui n’a pas de type de base. par conséquent, null est retourné en tant que type de base de Object .

Les interfaces héritent de zéro ou plusieurs interfaces de base ; par conséquent, cette propriété retourne null si l' Type objet représente une interface. Les interfaces de base peuvent être déterminées avec GetInterfaces ou FindInterfaces .

Si le actuel Type représente un type générique construit, le type de base reflète les arguments génériques. Observez, par exemple, les déclarations suivantes :

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

pour le type construit C<int> ( C(Of Integer) en Visual Basic), la BaseType propriété retourne B<int> .

Si le actuel Type représente un paramètre de type d’une définition de type générique, BaseType retourne la contrainte de classe, autrement dit, la classe que le paramètre de type doit hériter. S’il n’existe aucune contrainte de classe, BaseType retourne System.Object .

Cette propriété est en lecture seule.

S’applique à

Produit Versions
.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

Voir aussi