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

정의

현재 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

속성 값

현재 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.

구현

예제

다음 예제는 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. 이 예제에서는 라는 클래스를 정의 C 라는 클래스에서 파생 되는 B는 라는 클래스에서 파생 됩니다, A합니다.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

설명

기본 유형 현재 형식이 직접 상속 된 형식이입니다.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 개 이상의 기본 인터페이스;에서 상속 따라서이 속성은 반환 null 경우는 Type 개체 인터페이스를 나타냅니다.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> (C(Of Integer) Visual basic에서), 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. 클래스 제약 조건이 없는 경우 BaseType 반환 System.Object합니다.If there is no class constraint, BaseType returns System.Object.

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

적용 대상

추가 정보