Type.BaseType Type.BaseType Type.BaseType Type.BaseType Property

Definition

Ruft den Typ ab, von dem der aktuelle Type direkt vererbt wird.Gets the type from which the current Type directly inherits.

public:
 abstract property Type ^ BaseType { Type ^ get(); };
public abstract Type BaseType { get; }
member this.BaseType : Type
Public MustOverride ReadOnly Property BaseType As Type

Eigenschaftswert

Der Type, von dem der aktuelle Type direkt erbt, oder null, wenn der aktuelle Type die Object-Klasse oder eine Schnittstelle darstellt.The Type from which the current Type directly inherits, or null if the current Type represents the Object class or an interface.

Implementiert

Beispiele

Im folgenden Beispiel wird die Verwendung BaseType der-Eigenschaft veranschaulicht.The following example demonstrates using the BaseType property.

using namespace System;
void main()
{
   Type^ t = int::typeid;
   Console::WriteLine( "{0} inherits from {1}.", t, t->BaseType );
}

using System;
class TestType 
{
    public static void Main() 
    {
        Type t = typeof(int);
        Console.WriteLine("{0} inherits from {1}.", t,t.BaseType);
    }
}
Class TestType
   
    Public Shared Sub Main()
        Dim t As Type = GetType(Integer)
        Console.WriteLine("{0} inherits from {1}.", t, t.BaseType)
    End Sub
End Class

Im folgenden Beispiel wird Rekursion verwendet, um die vollständige Vererbungs Hierarchie der einzelnen in einer Assembly gefundenen Klassen aufzulisten.The following example uses recursion to list the complete inheritance hierarchy of each class found in an assembly. Im Beispiel C Bwird eine Klasse mit dem Namen definiert, die von einer Klasse mit dem Namen abgeleitet wird, die wiederum von Aeiner Klasse mit dem Namen abgeleitet wird.The example defines a class named C that derives from a class named B, which, in turn, derives from a class named 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
Public Class Example
   Public Shared Sub Main()
      For Each t In GetType(Example).Assembly.GetTypes()
         Console.WriteLine("{0} derived from: ", t.FullName)
         Dim derived As Type = t
         Do 
            derived = derived.BaseType
            If derived IsNot Nothing Then 
               Console.WriteLine("   {0}", derived.FullName)
            End If   
         Loop While derived IsNot Nothing
         Console.WriteLine() 
      Next 
   End Sub
End Class

Public Class A 
End Class

Public Class B : Inherits A
End Class

Public Class C : Inherits B
End Class
' 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

Hinweise

Der Basistyp ist der Typ, von dem der aktuelle Typ direkt erbt.The base type is the type from which the current type directly inherits. Objectist der einzige Typ, der keinen Basistyp hat und daher null als Basistyp von Objectzurückgegeben wird.Object is the only type that does not have a base type, therefore null is returned as the base type of Object.

Schnittstellen erben von NULL oder mehr Basis Schnittstellen. Daher gibt diese Eigenschaft zurück null , wenn Type das-Objekt eine-Schnittstelle darstellt.Interfaces inherit from zero or more base interfaces; therefore, this property returns null if the Type object represents an interface. Die Basis Schnittstellen können mit GetInterfaces oder FindInterfacesbestimmt werden.The base interfaces can be determined with GetInterfaces or FindInterfaces.

Wenn der aktuelle Type einen konstruierten generischen Typ darstellt, gibt der Basistyp die generischen Argumente wieder.If the current Type represents a constructed generic type, the base type reflects the generic arguments. Betrachten Sie beispielsweise die folgenden Deklarationen:For example, consider the following declarations:

generic<typename U> ref class B { };
generic<typename T> ref class C : B<T> { };
class B<U> { }
class C<T> : B<T> { }
Class B(Of U)
End Class
Class C(Of T)
    Inherits B(Of T)
End Class

Für den konstruierten C<int> TypC(Of Integer) (in Visual Basic) gibt BaseType die- B<int>Eigenschaft zurück.For the constructed type C<int> (C(Of Integer) in Visual Basic), the BaseType property returns B<int>.

Wenn der aktuelle Type einen Typparameter einer generischen Typdefinition darstellt, BaseType gibt die Klassen Einschränkung zurück, d. h. die Klasse, die der Typparameter erben muss.If the current Type represents a type parameter of a generic type definition, BaseType returns the class constraint, that is, the class the type parameter must inherit. Wenn keine Klassen Einschränkung vorhanden ist, BaseType wird System.Objectzurückgegeben.If there is no class constraint, BaseType returns System.Object.

Diese Eigenschaft ist schreibgeschützt.This property is read-only.

Gilt für:

Siehe auch