다음을 통해 공유


Type.GetInterfaces 메서드

파생 클래스에서 재정의된 경우, 현재 Type에 의해 구현되거나 상속되는 모든 인터페이스를 가져옵니다.

네임스페이스: System
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
Public MustOverride Function GetInterfaces As Type()
‘사용 방법
Dim instance As Type
Dim returnValue As Type()

returnValue = instance.GetInterfaces
public abstract Type[] GetInterfaces ()
public:
virtual array<Type^>^ GetInterfaces () abstract
public abstract Type[] GetInterfaces ()
public abstract function GetInterfaces () : Type[]

반환 값

현재 Type에 의해 구현되거나 상속되는 모든 인터페이스를 나타내는 Type 개체의 배열입니다. - 또는 - 현재 Type에 의해 구현되거나 상속되는 인터페이스가 없는 경우 Type 형식의 빈 배열입니다.

예외

예외 형식 조건

TargetInvocationException

정적 이니셜라이저가 호출되고 예외를 throw하는 경우

설명

현재 Type이 생성된 제네릭 형식을 나타내는 경우 이 메서드는 Type 개체를 반환합니다. 여기에는 적절한 형식 인수로 대체된 형식 매개 변수가 포함됩니다.

현재 Type이 제네릭 형식 또는 제네릭 메서드 정의의 형식 매개 변수를 나타내는 경우 이 메서드는 인터페이스 제약 조건과 클래스나 인터페이스 제약 조건에서 상속된 모든 인터페이스를 검색합니다.

예제

다음 예제에서는 지정된 클래스의 형식을 가져오고 형식이 구현하거나 상속하는 모든 인터페이스를 표시합니다. Visual Basic 예제를 컴파일하려면 다음 컴파일러 명령을 사용합니다.

vbc type_getinterfaces1.vb /r:System.Web.dll /r:System.dll

Imports System
Imports System.Web
Imports System.Web.UI
Imports Microsoft.VisualBasic

Namespace Samples
    Public Class MyTemplate
        Inherits Control
        Implements INamingContainer
        Private _message As [String] = Nothing
        Public Property Message() As [String]
            Get
                Return _message
            End Get
            Set(ByVal Value As [String])
                _message = value
            End Set
        End Property
    End Class
    Public Class MyInterfacesSample
        Public Shared Sub Main()
            Try
                Dim myObjectArray As Type() = GetType(MyTemplate).GetInterfaces()
                Console.WriteLine("The interfaces inherited by the MyTemplate class are:" + ControlChars.CrLf)
                Dim index As Integer
                For index = 0 To myObjectArray.Length - 1
                    Console.WriteLine(myObjectArray(index))
                Next index
            Catch e As Exception
                Console.WriteLine("An exception occurred.")
                Console.WriteLine("Message: {0}", e.Message)
            End Try
        End Sub
    End Class
End Namespace
using System;
using System.Web;
using System.Web.UI;

namespace Samples
{
    public class MyTemplate : Control, INamingContainer 
    {
        private String _message = null;
        public String Message 
        {
            get 
            {
                return _message;
            }
            set 
            {
                _message = value;
            }
        }   
    }
    public class MyInterfacesSample
    {
        public static void Main()
        {
            try
            {
                Type[] myObjectArray= typeof(MyTemplate).GetInterfaces();
                Console.WriteLine("The interfaces inherited by the MyTemplate class are:\n");
                for (int index = 0; index < myObjectArray.Length; index++)
                {   
                    Console.WriteLine(myObjectArray[index]);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("An exception occurred.");
                Console.WriteLine("Message: " + e.Message);
            }
        }
    }
}
#using <system.dll>
#using <system.web.dll>

using namespace System;
using namespace System::Web;
using namespace System::Web::UI;

public ref class MyTemplate: public Control, public INamingContainer
{
private:
   String^ _message;

public:

   property String^ Message 
   {
      String^ get()
      {
         return _message;
      }

      void set( String^ value )
      {
         _message = value;
      }

   }
};

int main()
{
   try
   {
      array<Type^>^myObjectArray = MyTemplate::typeid->GetInterfaces();
      Console::WriteLine( "The interfaces inherited by the MyTemplate class are:\n" );
      for ( int index = 0; index < myObjectArray->Length; index++ )
      {
         Console::WriteLine( myObjectArray[ index ] );

      }
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "An exception occurred." );
      Console::WriteLine( "Message: {0}", e->Message );
   }
}
package Samples;

import System.*;
import System.Web.*;
import System.Web.UI.*;

public class MyTemplate extends Control implements INamingContainer
{
    private String _message = null;

    /** @property 
     */
    public String get_Message()
    {
        return _message;
    } //get_Message

    /** @property 
     */
    public void set_Message(String value)
    {
        _message = value;
    } //set_Message
} //MyTemplate

public class MyInterfacesSample
{
    public static void main(String[] args)
    {
        try {
            Type myObjectArray[] = MyTemplate.class.ToType().GetInterfaces();
            Console.WriteLine("The interfaces inherited by the MyTemplate"
                + " class are:\n");
            for (int index = 0; index < myObjectArray.length; index++) {
                Console.WriteLine(myObjectArray.get_Item(index));
            }
        }
        catch (System.Exception e) {
            Console.WriteLine("An exception occurred.");
            Console.WriteLine("Message: " + e.get_Message());
        }
    } //main
} //MyInterfacesSample

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

Type 클래스
Type 멤버
System 네임스페이스
GetInterface
FindInterfaces