Activator.CreateComInstanceFrom Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Cria uma instância do objeto COM cujo nome é especificado.
Sobrecargas
| Name | Description |
|---|---|
| CreateComInstanceFrom(String, String) |
Cria uma instância do objeto COM cujo nome é especificado, usando o ficheiro assembly nomeado e o construtor sem parâmetros. |
| CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm) |
Cria uma instância do objeto COM cujo nome é especificado, usando o ficheiro assembly nomeado e o construtor sem parâmetros. |
CreateComInstanceFrom(String, String)
Cria uma instância do objeto COM cujo nome é especificado, usando o ficheiro assembly nomeado e o construtor sem 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
O nome de um ficheiro que contém uma assembleia onde se procura o tipo nomeado typeName .
- typeName
- String
O nome do tipo a criar uma instância de.
Devoluções
Um handle que deve ser desdobrado para aceder ao objeto recém-criado, ou null para Nullable<T> instâncias.
Exceções
typeName ou assemblyName é null.
Uma instância não pode ser criada através do COM.
-ou-
typeName não foi encontrado em assemblyName.
Não foi encontrado nenhum construtor correspondente.
assemblyName não é encontrado, ou o módulo que está a tentar carregar não especifica uma extensão de nome de ficheiro.
Não é possível criar uma instância de uma classe abstrata.
-ou-
Este elemento foi invocado com um mecanismo de ligação tardia.
O chamador não pode fornecer atributos de ativação para um objeto que não herde de MarshalByRefObject.
assemblyName é a corda vazia ("").
Observações
Use o ObjectHandle.Unwrap método para desembrulhar o valor de retorno.
Um System.Runtime.InteropServices.ComVisibleAttribute atributo com valor de true deve ser aplicado explicitamente ou por defeito ao tipo COM para que o CreateComInstanceFrom método possa criar uma instância desse tipo; caso contrário, TypeLoadException é lançado.
Para informações sobre outras exceções que podem ser lançadas por métodos invocados, consulte a secção Exceptions dos Assembly.LoadFrom métodos e CreateInstance .
Note
Este método pode ser usado para criar tipos não públicos se o chamador tiver recebido ReflectionPermission a ReflectionPermissionFlag.RestrictedMemberAccess bandeira e se o conjunto de concessão da assembleia que contém os tipos não públicos estiver restrito ao conjunto de concessão do chamador ou a um subconjunto destes. (Ver Considerações de Segurança para Reflexão.) Para usar esta funcionalidade, a sua aplicação deve direcionar-se para o .NET Framework 3.5 ou posterior.
Aplica-se a
CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)
Cria uma instância do objeto COM cujo nome é especificado, usando o ficheiro assembly nomeado e o construtor sem 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
O nome de um ficheiro que contém uma assembleia onde se procura o tipo nomeado typeName .
- typeName
- String
O nome do tipo a criar uma instância de.
- hashValue
- Byte[]
O valor do código hash calculado.
- hashAlgorithm
- AssemblyHashAlgorithm
O algoritmo de hash é usado para fazer hash de ficheiros e gerar o nome forte.
Devoluções
Um handle que deve ser desdobrado para aceder ao objeto recém-criado, ou null para Nullable<T> instâncias.
Exceções
typeName ou assemblyName é null.
assemblyName é a corda vazia ("").
Um conjunto ou módulo foi carregado duas vezes com duas evidências diferentes.
-ou-
assemblyName é maior do que o comprimento máximo definido pelo sistema.
assemblyName não é encontrado, ou o módulo que está a tentar carregar não especifica uma extensão de nome de ficheiro.
assemblyName é encontrado mas não pode ser carregado.
assemblyName não é uma assembleia válida.
Uma base de código que não começa por "file://" foi especificada sem o requisito WebPermission.
Uma instância não pode ser criada através do COM.
-ou-
typeName não foi encontrado em assemblyName.
Não foi encontrado nenhum construtor correspondente.
Uma instância de uma classe abstrata não pode ser criada.
-ou-
Este elemento foi invocado com um mecanismo de ligação tardia.
O chamador não pode fornecer atributos de ativação para um objeto que não herde de MarshalByRefObject.
Observações
Use o ObjectHandle.Unwrap método para desembrulhar o valor de retorno.
Um System.Runtime.InteropServices.ComVisibleAttribute atributo com valor de true deve ser aplicado explicitamente ou por defeito ao tipo COM para que o CreateComInstanceFrom método possa criar uma instância desse tipo; caso contrário, TypeLoadException é lançado.
Para informações sobre outras exceções que podem ser lançadas por métodos invocados, consulte a secção Exceptions dos Assembly.LoadFrom métodos e CreateInstance .
Note
Este método pode ser usado para criar tipos não públicos se o chamador tiver recebido ReflectionPermission a ReflectionPermissionFlag.RestrictedMemberAccess bandeira e se o conjunto de concessão da assembleia que contém os tipos não públicos estiver restrito ao conjunto de concessão do chamador ou a um subconjunto destes. (Ver Considerações de Segurança para Reflexão.) Para usar esta funcionalidade, a sua aplicação deve direcionar-se para o .NET Framework 3.5 ou posterior.