Activator.CreateComInstanceFrom Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria uma instância do objeto COM cujo nome é especificado.
Sobrecargas
CreateComInstanceFrom(String, String) |
Cria uma instância do objeto COM cujo nome é especificado, usando o arquivo do 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 do assembly nomeado e o construtor sem parâmetros. |
CreateComInstanceFrom(String, String)
Cria uma instância do objeto COM cujo nome é especificado, usando o arquivo do 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 chamado 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
.
Não é possível criar uma instância por meio do 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 -
Este 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 seja herdado de MarshalByRefObject.
assemblyName
é a cadeia de caracteres vazia ("").
Comentários
Use o método ObjectHandle.Unwrap para desencapsular o valor de retorno.
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 possam ser lançadas por métodos invocados, consulte a seção Exceções dos métodos Assembly.LoadFrom e CreateInstance.
Observação
A partir do .NET Framework 2.0, 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 Consideraçõ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 do 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 chamado typeName
é procurado.
- typeName
- String
O nome do tipo do qual criar uma instância.
- hashValue
- Byte[]
O valor do código hash calculado.
- hashAlgorithm
- AssemblyHashAlgorithm
O algoritmo de hash usado para o hash de arquivos e para 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 em 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
foi encontrado, mas não pode ser carregado.
assemblyName
não é um assembly válido.
Uma base de código que não é iniciada com “file://” foi especificada sem o WebPermission
necessário.
Não é possível criar uma instância por meio do COM.
- ou -
typename
não foi encontrado em assemblyName
.
Nenhum construtor correspondente foi encontrado.
Não foi possível criar uma instância de uma classe abstrata.
- ou -
Este 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 seja herdado de MarshalByRefObject.
Comentários
Use o método ObjectHandle.Unwrap para desencapsular o valor de retorno.
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 possam ser lançadas por métodos invocados, consulte a seção Exceções dos métodos Assembly.LoadFrom e CreateInstance.
Observação
A partir do .NET Framework 2.0, 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 Consideraçõ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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de