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

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

Nota: esta API ya está obsoleta. La alternativa no obsoleta es CreateInstanceAndUnwrap.

Crea una nueva instancia del tipo especificado. Los parámetros especifican el nombre del tipo así como la forma en que se ha encontrado y se ha creado.

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

[ObsoleteAttribute("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstanceAndUnwrap which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public Object CreateInstanceAndUnwrap(
	string assemblyName,
	string typeName,
	bool ignoreCase,
	BindingFlags bindingAttr,
	Binder binder,
	Object[] args,
	CultureInfo culture,
	Object[] activationAttributes,
	Evidence securityAttributes
)

Parámetros

assemblyName
Tipo: System.String
Nombre para mostrar del ensamblado. Vea Assembly.FullName.
typeName
Tipo: System.String
Nombre completo del tipo solicitado, incluido el espacio de nombres pero no el ensamblado, tal como lo devuelve la propiedad Type.FullName.
ignoreCase
Tipo: System.Boolean
Valor Boolean que especifica si va a realizarse una búsqueda con distinción de mayúsculas y minúsculas.
bindingAttr
Tipo: 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
Tipo: 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 reflexión. Si binder es null, se utilizará el enlazador predeterminado.
args
Tipo: 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 utilizar el constructor predeterminado, args debe ser una matriz vacía o null.
culture
Tipo: System.Globalization.CultureInfo
Objeto específico de la referencia cultural que se utiliza para regir la conversión de tipos. Si culture es null, se utiliza CultureInfo del subproceso actual.
activationAttributes
Tipo: 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. El atributo UrlAttribute especifica la dirección URL necesaria para activar un objeto remoto.
securityAttributes
Tipo: System.Security.Policy.Evidence
Información que se utiliza para autorizar la creación de typeName.

Valor devuelto

Tipo: System.Object
Instancia del objeto especificado por typeName.

ExcepciónCondición
ArgumentNullException

assemblyName o typeName es null.

MissingMethodException

No se encontró ningún constructor coincidente.

TypeLoadException

No se encontró typename en assemblyName.

FileNotFoundException

assemblyName.

MethodAccessException

El llamador no tiene permiso para llamar a este constructor.

NotSupportedException

El llamador no puede proporcionar atributos de activación para un objeto que no herede de MarshalByRefObject.

AppDomainUnloadedException

Se ha intentado realizar la operación en un dominio de aplicación descargado.

BadImageFormatException

assemblyName no es un ensamblado válido.

O bien

Actualmente está cargada la versión 2.0 o posterior de Common Language Runtime y assemblyName se ha compilado con una versión posterior.

FileLoadException

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

Se trata de un método útil que combina CreateInstance y ObjectHandle.Unwrap.

Para obtener el formato de assemblyName, vea AssemblyName. Vea la propiedad Type.FullName para obtener el formato de typeName.

El parámetro activationAttributes se relaciona con objetos activados en el cliente; vea Client Activation.

NotaNota

Si realiza una llamada enlazada en tiempo de compilación a un método M de un objeto de tipo T1 que haya devuelto CreateInstanceAndUnwrap, y dicho método realiza una llamada enlazada en tiempo de compilación a un método de un objeto de tipo T2 en un ensamblado C que no sea el ensamblado actual ni el ensamblado que contiene T1, el ensamblado C se cargará en el dominio de aplicación actual. Esta carga se produce incluso cuando la llamada enlazada en tiempo de compilación a T1.M() se realiza en el cuerpo de un objeto DynamicMethod o en otro código generado dinámicamente. Si el dominio actual es el dominio predeterminado, el ensamblado C no se puede descargar hasta que finaliza el proceso. Si el dominio actual intenta cargar más tarde el ensamblado C, se podría producir un error en la carga.

En el siguiente ejemplo se muestra el uso del parámetro ignoreCase.


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);
      }
   }
}


.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0
Obsoleto (advertencia del compilador) en 4.5.2
Obsoleto (advertencia del compilador) en 4.5.1
Obsoleto (advertencia del compilador) en 4.5
Obsoleto (advertencia del compilador) en 4

.NET Framework Client Profile

Compatible con: 3.5 SP1
Obsoleto (advertencia del compilador) en 4

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