2009-02-11 14 views

回答

18

GetExportedTypes()不包含protected/private/internal類型。根據以下亞歷山大問題中鏈接的問題,即使通過InternalsVisibleToAttribute對程序集可見,也不會包含內部類型。

GetTypes()包括所有類型。

+0

特別令人困惑的是,不會返回嵌套的`protected`類型和嵌套`protected internal`類型,其聲明類型是公共的。 [`TypeConverter + SimplePropertyDescriptor`](http://msdn.microsoft.com/zh-cn/library/system.componentmodel.typeconverter.simplepropertydescriptor.aspx)的示例:`class MyClass:System.ComponentModel.TypeConverter {static void Main(){var exported = typeof(SimplePropertyDescriptor); Console.WriteLine(exported.IsVisible)/ *寫入False * /; }} – 2014-11-06 12:30:23

7

GetExportedTypes()僅返回在相關組件外部可見的類型。 「可見」是指嵌套在其他公共類型中的公共類型和公共類型。

+0

所以你的意思是當使用GetExportedTypes()時返回所有公共類型? GetTypes()是做什麼的? – Viks 2009-02-11 16:39:03

3

關於InternalsVisibleToAttributethis question的小評論。

即使該調用是由具有InternalsVisibleTo屬性的程序集進行的,GetExportedTypes()也不會返回internal類型。

因此,GetExportedTypes()只返回public類型。

相關問題