Type.BaseType Property

Definition

현재 Type이 직접 상속된 형식을 가져옵니다.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

Property Value

Type

현재 Type이 직접 상속하는 Type이거나, 현재 nullType 클래스나 인터페이스를 나타내면 Object입니다.The Type from which the current Type directly inherits, or null if the current Type represents the Object class or an interface.

Implements

Examples

다음 예제에서는 BaseType 속성을 사용 하는 방법을 보여 줍니다.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

다음 예제에서는 재귀를 사용 하 여 어셈블리에 있는 각 클래스의 완전 한 상속 계층 구조를 나열 합니다.The following example uses recursion to list the complete inheritance hierarchy of each class found in an assembly. 이 예제에서는 A클래스에서 파생 되는 B클래스에서 파생 되는 C 라는 클래스를 정의 합니다.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

Remarks

기본 유형 현재 형식이 직접 상속 된 형식이입니다.The base type is the type from which the current type directly inherits. Object는 기본 형식이 없는 유일한 형식 이므로 null 기본 형식 Object로 반환 됩니다.Object is the only type that does not have a base type, therefore null is returned as the base type of Object.

인터페이스는 0 개 이상의 기본 인터페이스에서 상속 됩니다. 따라서 Type 개체가 인터페이스를 나타내는 경우이 속성은 null를 반환 합니다.Interfaces inherit from zero or more base interfaces; therefore, this property returns null if the Type object represents an interface. GetInterfaces 또는 FindInterfaces를 사용 하 여 기본 인터페이스를 확인할 수 있습니다.The base interfaces can be determined with GetInterfaces or FindInterfaces.

현재 Type이 생성 된 제네릭 형식을 나타내는 경우 기본 형식은 제네릭 인수를 반영 합니다.If the current Type represents a constructed generic type, the base type reflects the generic arguments. 예를 들어 다음 선언을 살펴보세요.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

생성 된 형식 C<int> (Visual Basic의C(Of Integer))의 경우 BaseType 속성은 B<int>를 반환 합니다.For the constructed type C<int> (C(Of Integer) in Visual Basic), the BaseType property returns B<int>.

현재 Type가 제네릭 형식 정의의 형식 매개 변수를 나타내는 경우, BaseType 클래스 제약 조건 즉, 형식 매개 변수가 상속 해야 하는 클래스를 반환 합니다.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. 클래스 제약 조건이 없는 경우 BaseTypeSystem.Object을 반환 합니다.If there is no class constraint, BaseType returns System.Object.

이 속성은 읽기 전용입니다.This property is read-only.

Applies to

See also