Assembly.GetExportedTypes Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает общедоступные типы, определенные в этой сборке, видимые за пределами сборки.
public:
virtual cli::array <Type ^> ^ GetExportedTypes();
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed")]
public virtual Type[] GetExportedTypes();
public virtual Type[] GetExportedTypes();
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types might be removed")>]
abstract member GetExportedTypes : unit -> Type[]
override this.GetExportedTypes : unit -> Type[]
abstract member GetExportedTypes : unit -> Type[]
override this.GetExportedTypes : unit -> Type[]
Public Overridable Function GetExportedTypes () As Type()
Возвращаемое значение
Массив, представляющий типы, определенные в этой сборке, видимые за пределами сборки.
Реализации
- Атрибуты
Исключения
Сборка — это динамическая сборка.
Не удалось загрузить зависимые сборки.
Примеры
В следующем примере кода определяется ряд классов с различными уровнями доступа и вызовы GetExportedTypes для отображения тех, которые отображаются вне сборки.
using System;
using System.Reflection;
public class Example
{
public static void Main()
{
foreach (Type t in typeof(Example).Assembly.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 {}
}
Imports System.Reflection
Public Class Example
Public Shared Sub Main()
For Each t As Type In GetType(Example).Assembly.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
Комментарии
Единственными типами, видимыми вне сборки, являются общедоступные типы и общедоступные типы, вложенные в другие общедоступные типы. Чтобы получить все типы в сборке, включая те, которые не являются общедоступными, используйте GetTypes этот метод.