Gets the public types defined in this assembly that are visible outside the assembly.
Namespace:
System.Reflection
Assembly:
mscorlib (in mscorlib.dll)
Visual Basic (Declaration)
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 function GetExportedTypes() : Type[]
Return Value
Type:
array<System..::.Type>[]()[]An array of Type objects that represent the types defined in this assembly that are visible outside the assembly.
Implements
_Assembly..::.GetExportedTypes()()()
The only types visible outside an assembly are public types and public types nested within other public types.
The following code sample defines a number of classes with various access levels, and calls GetExportedTypes to display the ones that are visible from outside the assembly.
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;
}
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
.NET Framework
Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Reference