Assembly.GetExportedTypes()是做什麼的?它與Assembly.GetTypes()Assembly.GetExportedTypes vs GetTypes
有何不同?你可以用例子來解釋嗎?
Assembly.GetExportedTypes()是做什麼的?它與Assembly.GetTypes()Assembly.GetExportedTypes vs GetTypes
有何不同?你可以用例子來解釋嗎?
GetExportedTypes()不包含protected/private/internal類型。根據以下亞歷山大問題中鏈接的問題,即使通過InternalsVisibleToAttribute對程序集可見,也不會包含內部類型。
GetTypes()包括所有類型。
GetExportedTypes()
僅返回在相關組件外部可見的類型。 「可見」是指嵌套在其他公共類型中的公共類型和公共類型。
所以你的意思是當使用GetExportedTypes()時返回所有公共類型? GetTypes()是做什麼的? – Viks 2009-02-11 16:39:03
關於InternalsVisibleToAttribute
和this question的小評論。
即使該調用是由具有InternalsVisibleTo
屬性的程序集進行的,GetExportedTypes()
也不會返回internal
類型。
因此,GetExportedTypes()
只返回public
類型。
特別令人困惑的是,不會返回嵌套的`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