Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método AppDomain.CreateInstanceAndUnwrap (String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

.NET Framework (current version)
 

Crea una nueva instancia del tipo especificado definido en el ensamblado indicado, especificando si se pasa por alto el modelo de mayúsculas y minúsculas del nombre de tipo, los atributos de enlace y el enlazador que se usan para seleccionar el tipo que se va a crear, los argumentos del constructor, la referencia cultural y los atributos de activación.

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

public object CreateInstanceAndUnwrap(
	string assemblyName,
	string typeName,
	bool ignoreCase,
	BindingFlags bindingAttr,
	Binder binder,
	object[] args,
	CultureInfo culture,
	object[] activationAttributes
)

Parámetros

assemblyName
Type: System.String

Nombre para mostrar del ensamblado. Vea Assembly.FullName.

typeName
Type: System.String

Nombre completo del tipo solicitado, incluido el espacio de nombres, pero no el ensamblado, tal y como lo devuelve la propiedad Type.FullName.

ignoreCase
Type: System.Boolean

Valor booleano que especifica si va a realizarse una búsqueda con distinción de mayúsculas y minúsculas.

bindingAttr
Type: System.Reflection.BindingFlags

Combinación de cero o más marcadores de bits que afectan a la búsqueda del constructor de typeName. Si bindingAttr es cero, se realiza una búsqueda de constructores públicos que distingue mayúsculas de minúsculas.

binder
Type: System.Reflection.Binder

Objeto que permite el enlace, la conversión de tipos de argumentos, la invocación de miembros y la recuperación de objetos MemberInfo mediante la reflexión. Si binder es null, se usará el enlazador predeterminado.

args
Type: System.Object[]

Argumentos que se van a pasar al constructor. Esta matriz de argumentos debe coincidir en número, orden y tipo con los parámetros del constructor que se va a invocar. Si se prefiere usar el constructor predeterminado, args debe ser una matriz vacía o null.

culture
Type: System.Globalization.CultureInfo

Objeto específico de la referencia cultural que se usa para regir la conversión de tipos. Si culture es null, se usa CultureInfo del subproceso actual.

activationAttributes
Type: System.Object[]

Matriz de uno o más atributos que puede participar en la activación. Normalmente, una matriz que contiene un solo objeto UrlAttribute. que especifica la dirección URL necesaria para activar un objeto remoto.

Este parámetro está relacionado con los objetos activados por el cliente. La activación por parte del cliente es una tecnología heredada que se conserva por compatibilidad con versiones anteriores, pero no se recomienda para nuevo desarrollo. Las aplicaciones distribuidas deberían usar Windows Communication Foundation.

Valor devuelto

Type: System.Object

Instancia del objeto especificado por typeName.

Exception Condition
ArgumentNullException

El valor de assemblyName o typeName es null.

MissingMethodException

No se encontró ningún constructor coincidente.

TypeLoadException

No se encontró typename en assemblyName.

FileNotFoundException

No se encontró assemblyName.

MethodAccessException

El llamador no tiene permiso para llamar a este constructor.

NotSupportedException

El llamador no puede ofrecer atributos de activación para un objeto que no hereda de MarshalByRefObject.

AppDomainUnloadedException

La operación se intenta en un dominio de aplicación descargado.

BadImageFormatException

assemblyName no es un ensamblado válido.

-o-

assemblyName se compiló con una versión de Common Language Runtime posterior a la versión que está cargada actualmente.

FileLoadException

Se cargó un ensamblado o módulo dos veces con dos evidencias diferentes.

This is a convenience method that combines M:System.AppDomain.CreateInstance(System.String,System.String) and M:System.Runtime.Remoting.ObjectHandle.Unwrap.

See T:System.Reflection.AssemblyName for the format of assemblyName. See the P:System.Type.FullName property for the format of typeName.

System_CAPS_noteNota

If you make an early-bound call to a method M of an object of type T1 that was returned by M:System.AppDomain.CreateInstanceAndUnwrap(System.String,System.String), and that method makes an early-bound call to a method of an object of type T2 in an assembly C other than the current assembly or the assembly containing T1, assembly C is loaded into the current application domain. This loading occurs even if the early-bound call to T1.M() was made in the body of a T:System.Reflection.Emit.DynamicMethod, or in other dynamically generated code. If the current domain is the default domain, assembly C cannot be unloaded until the process ends. If the current domain later attempts to load assembly C, the load might fail.

The following sample demonstrates the use of the ignoreCase parameter.

using System;
using System.Reflection;

class Test {

   static void Main() {
      InstantiateINT32(false);     // Failed!
      InstantiateINT32(true);      // OK!
   }

   static void InstantiateINT32(bool ignoreCase) {
      try {
         AppDomain currentDomain = AppDomain.CurrentDomain;
         object instance = currentDomain.CreateInstanceAndUnwrap(
            "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
            "SYSTEM.INT32",
            ignoreCase,
            BindingFlags.Default,
            null,
            null,
            null,
            null,
            null
         );
         Console.WriteLine(instance.GetType());
      } catch (TypeLoadException e) {
         Console.WriteLine(e.Message);
      }
   }
}

FileIOPermissionAccess

for the ability to access the location of the assembly. Associated enumeration: F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery

FileIOPermissionAccess

for the ability to read the file containing the assembly manifest. Associated enumeration: F:System.Security.Permissions.FileIOPermissionAccess.Read

WebPermission

for the ability to access the location of the assembly if the assembly is not local.

SecurityPermission

for the ability to call unmanaged code when creating an instance of a delegate. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode

ReflectionPermission

for the ability to invoke operations on all type members. Associated enumeration: F:System.Security.Permissions.ReflectionPermissionFlag.MemberAccess

.NET Framework
Disponible desde 4.0
Volver al principio
Mostrar: