Freigeben über


Assembly.GetExportedTypes-Methode

Ruft die in dieser Assembly definierten exportierten Typen ab, die außerhalb der Assembly sichtbar sind.

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

Syntax

'Declaration
Public Overridable Function GetExportedTypes As Type()
'Usage
Dim instance As Assembly
Dim returnValue As Type()

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

Rückgabewert

Ein Array von Type-Objekten, die die in dieser Assembly definierten Typen darstellen, die außerhalb der Assembly sichtbar sind.

Hinweise

Die einzigen außerhalb einer Assembly sichtbaren Typen sind öffentliche Typen sowie in anderen öffentlichen Typen geschachtelte öffentliche Typen.

Beispiel

Im folgenden Codebeispiel wird eine Anzahl von Klassen mit unterschiedlichen Zugriffsebenen definiert und GetExportedTypes aufgerufen, um die Klassen anzuzeigen, die außerhalb der Assembly sichtbar sind.

Imports System
Imports System.Reflection

Public Class Example
    Public Shared Sub Main()
        For Each t As Type In [Assembly].GetExecutingAssembly.GetExportedTypes()
            Console.WriteLine(t)
        Next
    End Sub
End Class

Public Class PublicClass
    Public Class PublicNestedClass
    End Class

    Protected Class ProtectedNestedClass
    End Class

    Friend Class FriendNestedClass
    End Class

    Private Class PrivateNestedClass
    End Class
End Class

Friend Class FriendClass
    Public Class PublicNestedClass
    End Class

    Protected Class ProtectedNestedClass
    End Class

    Friend Class FriendNestedClass
    End Class

    Private Class PrivateNestedClass
    End Class
End Class
using System;
using System.Reflection;

public class Example
{
    public static void Main()
    {
        foreach (Type t in Assembly.GetExecutingAssembly().GetExportedTypes())
        {
            Console.WriteLine(t);
        }
    }
}

public class PublicClass
{
    public class PublicNestedClass {}

    protected class ProtectedNestedClass {}
 
    internal class FriendNestedClass {}

    private class PrivateNestedClass {}
}

internal class FriendClass
{
    public class PublicNestedClass {}

    protected class ProtectedNestedClass {}

    internal class FriendNestedClass {}

    private class PrivateNestedClass {}
}
using namespace System;
using namespace System::Reflection;

namespace ExportedClassExample
{
    public ref class Example sealed
    {
    private:
        Example() 
        {
        }

    public:
        void static EnumerateExportedTypes()
        {
            for each (Type^ exportedType in 
                Assembly::GetExecutingAssembly()->GetExportedTypes())
            {
                Console::WriteLine(exportedType);
            }
        }
    };

    public ref class PublicClass
    {
    public:
        ref class PublicNestedClass 
        { 
        };

    protected:
        ref class ProtectedNestedClass 
        { 
        };

    internal:
        ref class FriendNestedClass 
        { 
        };

    private:
        ref class PrivateNestedClass
        { 
        };
    };

    ref class FriendClass
    {
    public:
        ref class PublicNestedClass
        { 
        };

    protected:
        ref class ProtectedNestedClass 
        { 
        };

    internal:
        ref class FriendNestedClass 
        { 
        };

    private:
        ref class PrivateNestedClass 
        { 
        };
    };
}

int main()
{
    ExportedClassExample::Example::EnumerateExportedTypes();

    return 0;
}
import System.*;
import System.Reflection.*;

public class Example
{
    public static void main(String[] args)
    {
        Type t = null;
        for (int iCtr = 0; iCtr < Assembly.GetExecutingAssembly().
            GetExportedTypes().get_Length(); iCtr++) {
            t = Assembly.GetExecutingAssembly().GetExportedTypes()[iCtr];
            Console.WriteLine(t);
        }
    } //main
} //Example

public class PublicClass
{
    public class PublicNestedClass
    {
    } //PublicNestedClass

    protected class ProtectedNestedClass
    {
    } //ProtectedNestedClass

    class FriendNestedClass
    {
    } //FriendNestedClass

    private class PrivateNestedClass
    {
    } //PrivateNestedClass
} //PublicClass

class FriendClass
{
    public class PublicNestedClass
    {
    } //PublicNestedClass

    protected class ProtectedNestedClass
    {
    } //ProtectedNestedClass

    class FriendNestedClass
    {
    } //FriendNestedClass

    private class PrivateNestedClass
    {
    } //PrivateNestedClass
} //FriendClass 

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, 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

Siehe auch

Referenz

Assembly-Klasse
Assembly-Member
System.Reflection-Namespace