다음을 통해 공유


Assembly.GetExportedTypes 메서드

어셈블리에 정의된 형식 중 어셈블리 외부에서 볼 수 있도록 내보낸 형식을 가져옵니다.

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

구문

‘선언
Public Overridable Function GetExportedTypes As Type()
‘사용 방법
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[]

반환 값

이 어셈블리에 정의된 형식 중 어셈블리 외부에서 볼 수 있는 형식을 나타내는 Type 개체의 배열입니다.

설명

public 형식 및 다른 public 형식에 중첩된 public 형식만 어셈블리 외부에서 볼 수 있습니다.

예제

다음 코드 예제에서는 액세스 수준이 서로 다른 클래스를 여러 개 정의한 다음 GetExportedTypes를 호출하여 어셈블리 외부에서 볼 수 있는 클래스를 표시합니다.

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 

플랫폼

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에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

Assembly 클래스
Assembly 멤버
System.Reflection 네임스페이스