Activator.CreateComInstanceFrom Método

Definição

Cria uma instância do objeto COM cujo nome é especificado.

Sobrecargas

Nome Description
CreateComInstanceFrom(String, String)

Cria uma instância do objeto COM cujo nome é especificado, usando o arquivo de 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 arquivo de assembly nomeado e o construtor sem parâmetros.

CreateComInstanceFrom(String, String)

Cria uma instância do objeto COM cujo nome é especificado, usando o arquivo de 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 arquivo que contém um assembly em que o tipo nomeado typeName é procurado.

typeName
String

O nome do tipo do qual criar uma instância.

Retornos

Um identificador que deve ser desembrulhado para acessar o 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 por meio de COM.

-ou-

typeName não foi encontrado em assemblyName.

Nenhum construtor correspondente foi encontrado.

assemblyName não foi encontrado ou o módulo que você está tentando carregar não especifica uma extensão de nome de arquivo.

Não é possível criar uma instância de uma classe abstrata.

-ou-

Esse membro foi invocado com um mecanismo de associação tardia.

O chamador não pode fornecer atributos de ativação para um objeto que não herda.MarshalByRefObject

assemblyName é a cadeia de caracteres vazia ("").

Comentários

Use o ObjectHandle.Unwrap método para desembrulhar o valor retornado.

Um System.Runtime.InteropServices.ComVisibleAttribute atributo com um valor de true deve ser aplicado explicitamente ou por padrão ao tipo COM para que o CreateComInstanceFrom método possa criar uma instância desse tipo; caso contrário, TypeLoadException é gerado.

Para obter informações sobre outras exceções que podem ser geradas por métodos invocados, consulte a seção Exceções dos métodos e CreateInstance exceçõesAssembly.LoadFrom.

Note

Esse método poderá ser usado para criar tipos não públicos se o chamador tiver sido concedido ReflectionPermission com o ReflectionPermissionFlag.RestrictedMemberAccess sinalizador e se o conjunto de concessões do assembly que contém os tipos não públicos estiver restrito ao conjunto de concessões do chamador ou a um subconjunto dele. (Consulte Seções de segurança para reflexão.) Para usar essa funcionalidade, seu aplicativo deve ser direcionado .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 arquivo de 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 arquivo que contém um assembly em que o tipo nomeado typeName é procurado.

typeName
String

O nome do tipo do qual criar uma instância.

hashValue
Byte[]

O valor do código hash computado.

hashAlgorithm
AssemblyHashAlgorithm

O algoritmo de hash usado para criar arquivos de hash e gerar o nome forte.

Retornos

Um identificador que deve ser desembrulhado para acessar o objeto recém-criado ou null para Nullable<T> instâncias.

Exceções

typeName ou assemblyName é null.

assemblyName é a cadeia de caracteres vazia ("").

Um assembly ou módulo foi carregado duas vezes com duas evidências diferentes.

-ou-

assemblyName é maior que o comprimento máximo definido pelo sistema.

assemblyName não foi encontrado ou o módulo que você está tentando carregar não especifica uma extensão de nome de arquivo.

assemblyName é encontrado, mas não pode ser carregado.

assemblyName não é um assembly válido.

Uma base de código que não começa com "file://" foi especificada sem o necessário WebPermission.

Uma instância não pode ser criada por meio de COM.

-ou-

typeName não foi encontrado em assemblyName.

Nenhum construtor correspondente foi encontrado.

Não é possível criar uma instância de uma classe abstrata.

-ou-

Esse membro foi invocado com um mecanismo de associação tardia.

O chamador não pode fornecer atributos de ativação para um objeto que não herda.MarshalByRefObject

Comentários

Use o ObjectHandle.Unwrap método para desembrulhar o valor retornado.

Um System.Runtime.InteropServices.ComVisibleAttribute atributo com um valor de true deve ser aplicado explicitamente ou por padrão ao tipo COM para que o CreateComInstanceFrom método possa criar uma instância desse tipo; caso contrário, TypeLoadException é gerado.

Para obter informações sobre outras exceções que podem ser geradas por métodos invocados, consulte a seção Exceções dos métodos e CreateInstance exceçõesAssembly.LoadFrom.

Note

Esse método poderá ser usado para criar tipos não públicos se o chamador tiver sido concedido ReflectionPermission com o ReflectionPermissionFlag.RestrictedMemberAccess sinalizador e se o conjunto de concessões do assembly que contém os tipos não públicos estiver restrito ao conjunto de concessões do chamador ou a um subconjunto dele. (Consulte Seções de segurança para reflexão.) Para usar essa funcionalidade, seu aplicativo deve ser direcionado .NET Framework 3.5 ou posterior.

Aplica-se a