Activator.CreateComInstanceFrom Método

Definição

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.

Aplica-se a