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, usando 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, usando 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, usando 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.
Devoluciones
Identificador que se debe desencapsular para tener acceso al objeto recién creado o null
para Nullable<T> instancias.
Excepciones
typeName
o assemblyName
es null
.
No se puede crear una instancia mediante COM.
o bien
No se encontró typename
en assemblyName
.
No se encontró ningún constructor coincidente.
No se encuentra assemblyName
o el módulo que está intentando cargar no especifica una extensión de nombre de archivo.
No se puede crear una instancia de una clase abstract.
o bien
Este miembro se invocó con un mecanismo de enlace en tiempo de ejecución.
El llamador no puede ofrecer atributos de activación para un objeto que no hereda de MarshalByRefObject.
assemblyName
es la cadena vacía ("").
Comentarios
Use el ObjectHandle.Unwrap método para desencapsular el valor devuelto.
Un System.Runtime.InteropServices.ComVisibleAttribute atributo con un valor de true
debe aplicarse explícitamente o de forma predeterminada al tipo COM para que el CreateComInstanceFrom método pueda crear una instancia de ese tipo; de lo contrario, TypeLoadException se produce .
Para obtener información sobre otras excepciones que se pueden producir mediante métodos invocados, vea la sección Excepciones de los Assembly.LoadFrom métodos y CreateInstance .
Nota
A partir de .NET Framework 2.0, este método se puede usar para crear tipos no públicos si se ha concedido ReflectionPermission al autor de la llamada con la ReflectionPermissionFlag.RestrictedMemberAccess marca 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 del mismo. (Consulte Consideraciones de seguridad para la 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, usando 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.
- hashValue
- Byte[]
Valor del código hash calculado.
- hashAlgorithm
- AssemblyHashAlgorithm
Algoritmo hash que se aplica a los archivos para generar el nombre seguro.
Devoluciones
Identificador que se debe desencapsular para tener acceso al objeto recién creado o null
para Nullable<T> instancias.
Excepciones
typeName
o assemblyName
es null
.
assemblyName
es la cadena vacía ("").
Se cargó un ensamblado o módulo dos veces con dos evidencias diferentes.
o bien
assemblyName
es mayor que la longitud máxima definida por el sistema.
No se encuentra assemblyName
o el módulo que está intentando cargar no especifica una extensión de nombre de archivo.
Se ha encontrado assemblyName
, pero no se puede cargar.
assemblyName
no es un ensamblado válido.
Se especificó un código base que no comienza con "file://" sin el valor de WebPermission
necesario.
No se puede crear una instancia mediante COM.
o bien
No se encontró typename
en assemblyName
.
No se encontró ningún constructor coincidente.
No se puede crear una instancia de una clase abstract.
o bien
Este miembro se invocó con un mecanismo de enlace en tiempo de ejecución.
El llamador no puede ofrecer atributos de activación para un objeto que no hereda de MarshalByRefObject.
Comentarios
Use el ObjectHandle.Unwrap método para desencapsular el valor devuelto.
Un System.Runtime.InteropServices.ComVisibleAttribute atributo con un valor de true
debe aplicarse explícitamente o de forma predeterminada al tipo COM para que el CreateComInstanceFrom método pueda crear una instancia de ese tipo; de lo contrario, TypeLoadException se produce .
Para obtener información sobre otras excepciones que se pueden producir mediante métodos invocados, vea la sección Excepciones de los Assembly.LoadFrom métodos y CreateInstance .
Nota
A partir de .NET Framework 2.0, este método se puede usar para crear tipos no públicos si se ha concedido ReflectionPermission al autor de la llamada con la ReflectionPermissionFlag.RestrictedMemberAccess marca 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 del mismo. (Consulte Consideraciones de seguridad para la reflexión). Para usar esta funcionalidad, la aplicación debe tener como destino .NET Framework 3.5 o posterior.
Se aplica a
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de