Assembly.ExportedTypes和Assembly.GetExportedTypes()之间是否有区别

时间:2013-08-11 19:28:47

标签: c# .net clr .net-assembly

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

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

1 个答案:

答案 0 :(得分:6)

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

public virtual IEnumerable<Type> ExportedTypes
{
    get
    {
        return this.GetExportedTypes();
    }
}

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