Activator.CreateComInstanceFrom Método

Definição

Cria uma instância do objeto COM cujo nome é especificado.Creates an instance of the COM object whose name is specified.

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.Creates an instance of the COM object whose name is specified, using the named assembly file and the parameterless constructor.

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.Creates an instance of the COM object whose name is specified, using the named assembly file and the parameterless constructor.

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.Creates an instance of the COM object whose name is specified, using the named assembly file and the parameterless constructor.

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.The name of a file that contains an assembly where the type named typeName is sought.

typeName
String

O nome do tipo preferencial.The name of the preferred type.

Retornos

Um identificador que deve ser desencapsulado para acessar a instância recém-criada.A handle that must be unwrapped to access the newly created instance.

Exceções

typeName ou assemblyName é null.typeName or assemblyName is null.

Não é possível criar uma instância por meio do COM.An instance cannot be created through COM.

- ou --or- typename não foi encontrado em assemblyName.typename was not found in assemblyName.

Nenhum construtor correspondente foi encontrado.No matching constructor was found.

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 is not found, or the module you are trying to load does not specify a file name extension.

Não é possível criar uma instância de uma classe abstrata.Cannot create an instance of an abstract class.

- ou --or-

Este membro foi invocado com um mecanismo de associação tardia.This member was invoked with a late-binding mechanism.

O chamador não pode fornecer atributos de ativação para um objeto que não seja herdado de MarshalByRefObject.The caller cannot provide activation attributes for an object that does not inherit from MarshalByRefObject.

assemblyName é a cadeia de caracteres vazia ("").assemblyName is the empty string ("").

Comentários

Use o método ObjectHandle.Unwrap para desencapsular o valor de retorno.Use the ObjectHandle.Unwrap method to unwrap the return value.

Um atributo System.Runtime.InteropServices.ComVisibleAttribute com um valor de true deve ser aplicado explicitamente ou por padrão ao tipo COM para que o método CreateComInstanceFrom possa criar uma instância desse tipo; caso contrário, TypeLoadException será lançada.A System.Runtime.InteropServices.ComVisibleAttribute attribute with a value of true must be applied either explicitly or by default to the COM type so the CreateComInstanceFrom method can create an instance of that type; otherwise, TypeLoadException is thrown.

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.For information about other exceptions that can be thrown by invoked methods, see the Exceptions section of the Assembly.LoadFrom and CreateInstance methods.

Observação

A partir do .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, esse método pode ser usado para criar tipos não públicos se o chamador tiver sido concedido ReflectionPermission com o sinalizador ReflectionPermissionFlag.RestrictedMemberAccess e se o conjunto de concessão do assembly que contém os tipos não públicos for restrito ao conjunto de concessão do chamador ou a um subconjunto dele.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (Consulte considerações de segurança para reflexão.)(See Security Considerations for Reflection.)

Para usar essa funcionalidade, seu aplicativo deve ser direcionado ao .NET Framework 3,5.NET Framework 3.5 ou posterior.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Segurança

ReflectionPermission
para acessar tipos não públicos, independentemente do conjunto de concessões.for accessing nonpublic types regardless of their grant set. Enumeração associada: MemberAccessAssociated enumeration: MemberAccess

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.Creates an instance of the COM object whose name is specified, using the named assembly file and the parameterless constructor.

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.The name of a file that contains an assembly where the type named typeName is sought.

typeName
String

O nome do tipo preferencial.The name of the preferred type.

hashValue
Byte[]

O valor do código hash calculado.The value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm

O algoritmo de hash usado para o hash de arquivos e para gerar o nome forte.The hash algorithm used for hashing files and generating the strong name.

Retornos

Um identificador que deve ser desencapsulado para acessar a instância recém-criada.A handle that must be unwrapped to access the newly created instance.

Exceções

typeName ou assemblyName é null.typeName or assemblyName is null.

assemblyName é a cadeia de caracteres vazia ("").assemblyName is the empty string ("").

Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.An assembly or module was loaded twice with two different evidences.

- ou --or- assemblyName é maior que o comprimento máximo definido pelo sistema.assemblyName is longer than the system-defined maximum length.

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 is not found, or the module you are trying to load does not specify a file name extension.

assemblyName foi encontrado, mas não pode ser carregado.assemblyName is found but cannot be loaded.

assemblyName não é um assembly válido.assemblyName is not a valid assembly.

Uma base de código que não é iniciada com “file://” foi especificada sem o WebPermission necessário.A code base that does not start with "file://" was specified without the required WebPermission.

Não é possível criar uma instância por meio do COM.An instance cannot be created through COM.

- ou --or- typename não foi encontrado em assemblyName.typename was not found in assemblyName.

Nenhum construtor correspondente foi encontrado.No matching constructor was found.

Não foi possível criar uma instância de uma classe abstrata.An instance of an abstract class cannot be created.

- ou --or-

Este membro foi invocado com um mecanismo de associação tardia.This member was invoked with a late-binding mechanism.

O chamador não pode fornecer atributos de ativação para um objeto que não seja herdado de MarshalByRefObject.The caller cannot provide activation attributes for an object that does not inherit from MarshalByRefObject.

Comentários

Use o método ObjectHandle.Unwrap para desencapsular o valor de retorno.Use the ObjectHandle.Unwrap method to unwrap the return value.

Um atributo System.Runtime.InteropServices.ComVisibleAttribute com um valor de true deve ser aplicado explicitamente ou por padrão ao tipo COM para que o método CreateComInstanceFrom possa criar uma instância desse tipo; caso contrário, TypeLoadException será lançada.A System.Runtime.InteropServices.ComVisibleAttribute attribute with a value of true must be applied either explicitly or by default to the COM type so the CreateComInstanceFrom method can create an instance of that type; otherwise, TypeLoadException is thrown.

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.For information about other exceptions that can be thrown by invoked methods, see the Exceptions section of the Assembly.LoadFrom and CreateInstance methods.

Observação

A partir do .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, esse método pode ser usado para criar tipos não públicos se o chamador tiver sido concedido ReflectionPermission com o sinalizador ReflectionPermissionFlag.RestrictedMemberAccess e se o conjunto de concessão do assembly que contém os tipos não públicos for restrito ao conjunto de concessão do chamador ou a um subconjunto dele.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (Consulte considerações de segurança para reflexão.)(See Security Considerations for Reflection.)

Para usar essa funcionalidade, seu aplicativo deve ser direcionado ao .NET Framework 3,5.NET Framework 3.5 ou posterior.To use this functionality, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Segurança

ReflectionPermission
para acessar tipos não públicos, independentemente do conjunto de concessões.for accessing nonpublic types regardless of their grant set. Enumeração associada: MemberAccessAssociated enumeration: MemberAccess

FileIOPermission
para ler um URI que começa com "file://".for reading a URI that begins with "file://". Enumeração associada: ReadAssociated enumeration: Read

WebPermission
para ler um URI que não começa com "file://".for reading a URI that does not begin with "file://".

Aplica-se a