Что делает Assembly.GetExportedTypes()? Как это отличается от Assembly.GetTypes()
Можете ли вы объяснить с помощью примера?
Ответ 1
GetExportedTypes() не включает защищенные/частные/внутренние типы. В соответствии с вопросом, связанным с вопросом Александра ниже, внутренние типы не включаются, даже если они будут видны для сборки через InternalsVisibleToAttribute.
GetTypes() включает все типы.
Ответ 2
GetExportedTypes() возвращает только типы, видимые вне рассматриваемой сборки. "Видимый" означает публичные типы и публичные типы, вложенные в другие общедоступные типы.
Ответ 3
Маленькое замечание о InternalsVisibleToAttribute и этом вопросе.
Даже если вызов выполняется с помощью сборки с атрибутом InternalsVisibleTo, GetExportedTypes() не вернет типы internal.
Итак, GetExportedTypes() возвращает только public типы.