Assembly.GetExportedTypes 方法
获取此程序集中定义的导出类型,这些导出类型在程序集外可见。
**命名空间:**System.Reflection
**程序集:**mscorlib(在 mscorlib.dll 中)
语法
声明
Public Overridable Function GetExportedTypes As Type()
用法
Dim instance As Assembly
Dim returnValue As Type()
returnValue = instance.GetExportedTypes
public virtual Type[] GetExportedTypes ()
public:
virtual array<Type^>^ GetExportedTypes ()
public Type[] GetExportedTypes ()
public function GetExportedTypes () : Type[]
返回值
Type 对象的数组,这些对象表示此程序集中定义的在程序集外可见的类型。
备注
只有公共类型以及嵌套在其他公共类型中的公共类型才在程序集外可见。
示例
下面的代码示例定义一些具有不同访问级别的类,然后调用 GetExportedTypes 显示在程序集外可见的类。
Imports System
Imports System.Reflection
Public Class Example
Public Shared Sub Main()
For Each t As Type In [Assembly].GetExecutingAssembly.GetExportedTypes()
Console.WriteLine(t)
Next
End Sub
End Class
Public Class PublicClass
Public Class PublicNestedClass
End Class
Protected Class ProtectedNestedClass
End Class
Friend Class FriendNestedClass
End Class
Private Class PrivateNestedClass
End Class
End Class
Friend Class FriendClass
Public Class PublicNestedClass
End Class
Protected Class ProtectedNestedClass
End Class
Friend Class FriendNestedClass
End Class
Private Class PrivateNestedClass
End Class
End Class
using System;
using System.Reflection;
public class Example
{
public static void Main()
{
foreach (Type t in Assembly.GetExecutingAssembly().GetExportedTypes())
{
Console.WriteLine(t);
}
}
}
public class PublicClass
{
public class PublicNestedClass {}
protected class ProtectedNestedClass {}
internal class FriendNestedClass {}
private class PrivateNestedClass {}
}
internal class FriendClass
{
public class PublicNestedClass {}
protected class ProtectedNestedClass {}
internal class FriendNestedClass {}
private class PrivateNestedClass {}
}
using namespace System;
using namespace System::Reflection;
namespace ExportedClassExample
{
public ref class Example sealed
{
private:
Example()
{
}
public:
void static EnumerateExportedTypes()
{
for each (Type^ exportedType in
Assembly::GetExecutingAssembly()->GetExportedTypes())
{
Console::WriteLine(exportedType);
}
}
};
public ref class PublicClass
{
public:
ref class PublicNestedClass
{
};
protected:
ref class ProtectedNestedClass
{
};
internal:
ref class FriendNestedClass
{
};
private:
ref class PrivateNestedClass
{
};
};
ref class FriendClass
{
public:
ref class PublicNestedClass
{
};
protected:
ref class ProtectedNestedClass
{
};
internal:
ref class FriendNestedClass
{
};
private:
ref class PrivateNestedClass
{
};
};
}
int main()
{
ExportedClassExample::Example::EnumerateExportedTypes();
return 0;
}
import System.*;
import System.Reflection.*;
public class Example
{
public static void main(String[] args)
{
Type t = null;
for (int iCtr = 0; iCtr < Assembly.GetExecutingAssembly().
GetExportedTypes().get_Length(); iCtr++) {
t = Assembly.GetExecutingAssembly().GetExportedTypes()[iCtr];
Console.WriteLine(t);
}
} //main
} //Example
public class PublicClass
{
public class PublicNestedClass
{
} //PublicNestedClass
protected class ProtectedNestedClass
{
} //ProtectedNestedClass
class FriendNestedClass
{
} //FriendNestedClass
private class PrivateNestedClass
{
} //PrivateNestedClass
} //PublicClass
class FriendClass
{
public class PublicNestedClass
{
} //PublicNestedClass
protected class ProtectedNestedClass
{
} //ProtectedNestedClass
class FriendNestedClass
{
} //FriendNestedClass
private class PrivateNestedClass
{
} //PrivateNestedClass
} //FriendClass
平台
Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0