Assembly.GetTypes Method
Assembly: mscorlib (in mscorlib.dll)
| Exception type | Condition |
|---|---|
| The assembly contains one or more types that cannot be loaded. The array returned by the Types property of this exception contains a Type object for each type that was loaded and a null reference (Nothing in Visual Basic) for each type that could not be loaded, while the LoaderExceptions property contains an exception for each type that could not be loaded. |
The returned array includes nested types.
If the GetTypes method is called on an assembly and a type in that assembly is dependent on a type in an assembly that has not been loaded (for example, if it derives from a type in the second assembly), a ReflectionTypeLoadException is thrown. For example, this can happen if the first assembly was loaded with the ReflectionOnlyLoad or ReflectionOnlyLoadFrom methods, and the second assembly was not loaded. It can also happen with assemblies loaded using the Load and LoadFile methods if the second assembly cannot be located when the GetTypes method is called.
Note: |
|---|
| If a type has been forwarded to another assembly, it is not included in the returned array. For information on type forwarding, see Type Forwarding in the Common Language Runtime. |
The following example displays the types in the specified assembly.
Assembly^ SampleAssembly; SampleAssembly = Assembly::LoadFrom( "c:\\Sample.Assembly.dll" ); // Obtain a reference to a method known to exist in assembly. MethodInfo^ Method = SampleAssembly->GetTypes()[ 0 ]->GetMethod( "Method1" ); // Obtain a reference to the parameters collection of the MethodInfo instance. array<ParameterInfo^>^ Params = Method->GetParameters(); // Display information about method parameters. // Param = sParam1 // Type = System::String // Position = 0 // Optional=False for each ( ParameterInfo^ Param in Params ) { Console::WriteLine( "Param= {0}", Param->Name ); Console::WriteLine( " Type= {0}", Param->ParameterType ); Console::WriteLine( " Position= {0}", Param->Position ); Console::WriteLine( " Optional= {0}", Param->IsOptional ); }
- ReflectionPermission when invoked late-bound through mechanisms such as Type.InvokeMember. Associated enumeration: ReflectionPermissionFlag.MemberAccess.
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.
Note: