ModuleBuilder::DefineType Method (String^)
Constructs a TypeBuilder for a private type with the specified name in this module.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- name
-
Type:
System::String^
The full path of the type, including the namespace. name cannot contain embedded nulls.
| Exception | Condition |
|---|---|
| ArgumentException | A type with the given name exists in the parent assembly of this module. -or- Nested type attributes are set on a type that is not nested. |
| ArgumentNullException | name is null. |
Type names must be unique within an assembly. You cannot have two types with the same name in two different modules of an assembly.
Note |
|---|
Starting with the .NET Framework 2.0 Service Pack 1, this member no longer requires ReflectionPermission with the ReflectionPermissionFlag::ReflectionEmit flag. (See Security Issues in Reflection Emit.) To use this functionality, your application should target the .NET Framework 3.5 or later. |
The following example creates a TypeBuilder in the current dynamic module using CreateType, builds and completes the type, and saves the assembly.
AssemblyName^ asmname = gcnew AssemblyName; asmname->Name = "assemfilename.exe"; AssemblyBuilder^ asmbuild = System::Threading::Thread::GetDomain()-> DefineDynamicAssembly( asmname, AssemblyBuilderAccess::RunAndSave ); ModuleBuilder^ modbuild = asmbuild->DefineDynamicModule( "modulename", "assemfilename.exe" ); TypeBuilder^ typebuild1 = modbuild->DefineType( "typename" ); typebuild1->CreateType(); asmbuild->Save( "assemfilename.exe" );
Available since 1.1
Silverlight
Available since 2.0
