Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

AssemblyBuilder.DefineDynamicModule (Método) (String, Boolean)

Define un módulo dinámico transitorio con nombre en este ensamblado y especifica si debe emitirse información de símbolos.

Espacio de nombres:  System.Reflection.Emit
Ensamblado:  mscorlib (en mscorlib.dll)

public ModuleBuilder DefineDynamicModule(
	string name,
	bool emitSymbolInfo
)

Parámetros

name
Tipo: System.String
Nombre del módulo dinámico. Debe tener una longitud inferior a 260 caracteres.
emitSymbolInfo
Tipo: System.Boolean
true si se va a emitir información de símbolos; en caso contrario, false.

Valor devuelto

Tipo: System.Reflection.Emit.ModuleBuilder
ModuleBuilder que representa el módulo dinámico definido.

ExcepciónCondición
ArgumentException

name empieza por un espacio en blanco.

O bien

La longitud de name es cero.

O bien

La longitud de name es mayor o igual que 260.

ArgumentNullException

name es null.

ExecutionEngineException

No se puede cargar el ensamblado para el sistema de escritura de símbolos predeterminado.

O bien

No se encuentra el tipo que implementa la interfaz del sistema de escritura de símbolos predeterminado.

SecurityException

El llamador no dispone del permiso requerido.

Es un error definir varios módulos dinámicos con el mismo nombre en un ensamblado.

El módulo dinámico no se guarda aunque el ensamblado dinámico principal se haya creado con RunAndSave.

NotaNota

Para suprimir las optimizaciones durante la depuración de módulos dinámicos, aplique el atributo DebuggableAttribute al ensamblado dinámico antes de llamar a DefineDynamicModule. Cree una instancia de DebuggableAttribute con el marcador DisableOptimizations y aplíquela utilizando el método SetCustomAttribute. El atributo debe aplicarse al ensamblado dinámico. No tiene ningún efecto si se aplica al módulo.

NotaNota

A partir de .NET Framework 2.0 Service Pack 1, este miembro ya no necesita ReflectionPermission con el marcador ReflectionPermissionFlag.ReflectionEmit. (Vea Problemas de seguridad en la emisión de la reflexión.) Para usar esta funcionalidad, el destino de la aplicación debe ser .NET Framework 3.5 o posterior.

[Visual Basic, C#]

En el siguiente ejemplo de código se muestra cómo crear un módulo dinámico transitorio mediante DefineDynamicModule, suprimiendo la información de símbolos.


	   AppDomain myAppDomain = Thread.GetDomain(); 
	   AssemblyName myAsmName = new AssemblyName();
	   myAsmName.Name = "MyAssembly";
	   AssemblyBuilder myAsmBuilder = myAppDomain.DefineDynamicAssembly(
							myAsmName,
							AssemblyBuilderAccess.Run);

	   // Create a transient dynamic module. Since no DLL name is specified with
	   // this constructor, it can not be saved. By specifying the second parameter
	   // of the constructor as false, we can suppress the emission of symbol info.
	   ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule2",
										false);


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft