Assembly.ExportedTypes和Assembly.GetExportedTypes()之间有区别吗?

lys*_*cid 3 .net c# clr .net-assembly

.NET Assembly类包含一个方法(GetExportedTypes())和一个属性(ExportedTypes).

这些文档似乎相同("返回程序集中所有公共可见类型的集合").这些之间有什么区别吗?或者这是与Assembly类的API有关的历史原因吗?

Mar*_*zek 6

使用ILSpy查看.NET源代码实现后返回ExportedTypes:

public virtual IEnumerable<Type> ExportedTypes
{
    get
    {
        return this.GetExportedTypes();
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,继承Assembly类的类可以以不同方式实现该属性,因此您可能不应该依赖GetExportedTypes()ExportedTypes执行完全相同的操作.