Activator.CreateComInstanceFrom Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea una instancia del objeto COM cuyo nombre se especifica.
Sobrecargas
| CreateComInstanceFrom(String, String) |
Crea una instancia del objeto COM cuyo nombre se especifica, utilizando el archivo de ensamblado con nombre y el constructor sin parámetros. |
| CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm) |
Crea una instancia del objeto COM cuyo nombre se especifica, utilizando el archivo de ensamblado con nombre y el constructor sin parámetros. |
CreateComInstanceFrom(String, String)
Crea una instancia del objeto COM cuyo nombre se especifica, utilizando el archivo de ensamblado con nombre y el constructor sin parámetros.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateComInstanceFrom(System::String ^ assemblyName, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle CreateComInstanceFrom(string assemblyName, string typeName);
static member CreateComInstanceFrom : string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateComInstanceFrom (assemblyName As String, typeName As String) As ObjectHandle
Parámetros
- assemblyName
- String
Nombre de un archivo que contiene un ensamblado donde se busca el tipo denominado typeName.
- typeName
- String
Nombre del tipo del que se va a crear una instancia de .
Devoluciones
Identificador que se debe desencapsular para tener acceso al objeto recién creado o null para las instancias de Nullable<T>.
Excepciones
typeName o assemblyName es null.
No se puede crear una instancia a través de COM.
-o-
no se encontró typeName en assemblyName.
No se encontró ningún constructor coincidente.
assemblyName no se encuentra o el módulo que intenta cargar no especifica una extensión de nombre de archivo.
No se puede crear una instancia de una clase abstracta.
-o-
Este miembro se invocó con un mecanismo de enlace en tiempo de ejecución.
El autor de la llamada no puede proporcionar atributos de activación para un objeto que no herede de MarshalByRefObject.
assemblyName es la cadena vacía ("").
Comentarios
Use el método ObjectHandle.Unwrap para desencapsular el valor devuelto.
Un atributo System.Runtime.InteropServices.ComVisibleAttribute con un valor de true debe aplicarse explícitamente o de forma predeterminada al tipo COM para que el método CreateComInstanceFrom pueda crear una instancia de ese tipo; de lo contrario, se produce TypeLoadException.
Para obtener información sobre otras excepciones que se pueden producir mediante métodos invocados, vea la sección Excepciones de los métodos Assembly.LoadFrom y CreateInstance.
Nota
A partir de .NET Framework 2.0, este método se puede usar para crear tipos no públicos si el autor de la llamada se ha concedido ReflectionPermission con la marca ReflectionPermissionFlag.RestrictedMemberAccess y si el conjunto de concesión del ensamblado que contiene los tipos no públicos está restringido al conjunto de concesión del autor de la llamada o a un subconjunto de ellos. (Consulte Consideraciones de seguridad para lade reflexión). Para usar esta funcionalidad, la aplicación debe tener como destino .NET Framework 3.5 o posterior.
Se aplica a
CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)
Crea una instancia del objeto COM cuyo nombre se especifica, utilizando el archivo de ensamblado con nombre y el constructor sin parámetros.
public:
static System::Runtime::Remoting::ObjectHandle ^ CreateComInstanceFrom(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public static System.Runtime.Remoting.ObjectHandle CreateComInstanceFrom(string assemblyName, string typeName, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
static member CreateComInstanceFrom : string * string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateComInstanceFrom (assemblyName As String, typeName As String, hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As ObjectHandle
Parámetros
- assemblyName
- String
Nombre de un archivo que contiene un ensamblado donde se busca el tipo denominado typeName.
- typeName
- String
Nombre del tipo del que se va a crear una instancia de .
- hashValue
- Byte[]
Valor del código hash calculado.
- hashAlgorithm
- AssemblyHashAlgorithm
Algoritmo hash usado para aplicar hash a los archivos y generar el nombre seguro.
Devoluciones
Identificador que se debe desencapsular para tener acceso al objeto recién creado o null para las instancias de Nullable<T>.
Excepciones
typeName o assemblyName es null.
assemblyName es la cadena vacía ("").
Un ensamblado o módulo se cargó dos veces con dos evidencias diferentes.
-o-
assemblyName es mayor que la longitud máxima definida por el sistema.
assemblyName no se encuentra o el módulo que intenta cargar no especifica una extensión de nombre de archivo.
assemblyName se encuentra, pero no se puede cargar.
assemblyName no es un ensamblado válido.
Se especificó una base de código que no empieza por "file://" sin el WebPermissionnecesario.
No se puede crear una instancia a través de COM.
-o-
no se encontró typeName en assemblyName.
No se encontró ningún constructor coincidente.
No se puede crear una instancia de una clase abstracta.
-o-
Este miembro se invocó con un mecanismo de enlace en tiempo de ejecución.
El autor de la llamada no puede proporcionar atributos de activación para un objeto que no herede de MarshalByRefObject.
Comentarios
Use el método ObjectHandle.Unwrap para desencapsular el valor devuelto.
Un atributo System.Runtime.InteropServices.ComVisibleAttribute con un valor de true debe aplicarse explícitamente o de forma predeterminada al tipo COM para que el método CreateComInstanceFrom pueda crear una instancia de ese tipo; de lo contrario, se produce TypeLoadException.
Para obtener información sobre otras excepciones que se pueden producir mediante métodos invocados, vea la sección Excepciones de los métodos Assembly.LoadFrom y CreateInstance.
Nota
A partir de .NET Framework 2.0, este método se puede usar para crear tipos no públicos si el autor de la llamada se ha concedido ReflectionPermission con la marca ReflectionPermissionFlag.RestrictedMemberAccess y si el conjunto de concesión del ensamblado que contiene los tipos no públicos está restringido al conjunto de concesión del autor de la llamada o a un subconjunto de ellos. (Consulte Consideraciones de seguridad para lade reflexión). Para usar esta funcionalidad, la aplicación debe tener como destino .NET Framework 3.5 o posterior.