Freigeben über


Type.GetInterfaces-Methode

Ruft beim Überschreiben in einer abgeleiteten Klasse sämtliche Schnittstellen ab, die vom aktuellen Type implementiert oder geerbt wurden.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public MustOverride Function GetInterfaces As Type()
'Usage
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[]

Rückgabewert

Ein Array von Type-Objekten, die sämtliche vom aktuellen Type implementierten oder geerbten Schnittstellen darstellen. – oder – Ein leeres Array vom Type-Typ, wenn der aktuelle Type keine Schnittstellen implementiert oder geerbt hat.

Ausnahmen

Ausnahmetyp Bedingung

TargetInvocationException

Ein statischer Initialisierer wird aufgerufen und löst eine Ausnahme aus.

Hinweise

Wenn der aktuelle Type einen konstruierten generischen Typ darstellt, gibt diese Methode die Type-Objekte zurück, wobei die Typparameter durch die entsprechenden Typargumente ersetzt wurden.

Wenn der aktuelle Type einen Typparameter einer generischen Typ- oder Methodendefinition darstellt, durchsucht diese Methode die Schnittstelleneinschränkungen und alle Schnittstellen, die von Klassen- oder Schnittstelleneinschränkungen geerbt wurden.

Beispiel

Im folgenden Beispiel wird der Typ der angegebenen Klasse abgerufen, und es werden alle Schnittstellen angezeigt, die der Typ implementiert oder erbt. Verwenden Sie zum Kompilieren des Beispiels in Visual Basic die folgenden Compilerbefehle:

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

Plattformen

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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

Type-Klasse
Type-Member
System-Namespace
GetInterface
FindInterfaces