Leggi in inglese

Condividi tramite


Type.BaseType Proprietà

Definizione

Ottiene il tipo da cui l'oggetto Type corrente eredita direttamente.

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

Valore della proprietà

Oggetto Type da cui Type corrente eredita direttamente o null se Type rappresenta la classe Object o un'interfaccia.

Implementazioni

Esempio

Nell'esempio seguente viene illustrato l'uso della BaseType proprietà .

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

Nell'esempio seguente viene usata la ricorsione per elencare la gerarchia di ereditarietà completa di ogni classe trovata in un assembly. L'esempio definisce una classe denominata C che deriva da una classe denominata , che, a sua volta, deriva da una classe denominata BA.

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

Commenti

Il tipo di base è il tipo da cui il tipo corrente eredita direttamente. Object è l'unico tipo che non ha un tipo di base, pertanto null viene restituito come tipo di base di Object.

Le interfacce ereditano da zero o più interfacce di base; pertanto, questa proprietà restituisce null se l'oggetto rappresenta un'interfaccia Type . Le interfacce di base possono essere determinate con GetInterfaces o FindInterfaces.

Se l'oggetto corrente Type rappresenta un tipo generico costruito, il tipo di base riflette gli argomenti generici. Si considerino ad esempio le dichiarazioni seguenti:

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

Per il tipo C<int> costruito (C(Of Integer) in Visual Basic), la BaseType proprietà restituisce B<int>.

Se l'oggetto corrente Type rappresenta un parametro di tipo di una definizione di tipo generico, BaseType restituisce il vincolo di classe, ovvero la classe che il parametro di tipo deve ereditare. Se non esiste alcun vincolo di classe, BaseType restituisce System.Object.

Questa proprietà è di sola lettura.

Si applica a

Prodotto Versioni
.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

Vedi anche