Activator.CreateComInstanceFrom Metodo

Definizione

Crea un'istanza dell'oggetto COM il cui nome è specificato.

Overload

CreateComInstanceFrom(String, String)

Crea un'istanza dell'oggetto COM il cui nome viene specificato, usando il file di assembly denominato e il costruttore senza parametri.

CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

Crea un'istanza dell'oggetto COM il cui nome viene specificato, usando il file di assembly denominato e il costruttore senza parametri.

CreateComInstanceFrom(String, String)

Crea un'istanza dell'oggetto COM il cui nome viene specificato, usando il file di assembly denominato e il costruttore senza parametri.

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

Parametri

assemblyName
String

Nome di un file contenente un assembly nel quale viene ricercato il tipo denominato typeName.

typeName
String

Il nome del tipo di cui creare un'istanza.

Restituisce

Handle che deve essere annullato per accedere all'oggetto appena creato o null per Nullable<T> le istanze.

Eccezioni

typeName o assemblyName è null.

Non è possibile creare un'istanza tramite COM.

-oppure-

Non è possibile trovare typename in assemblyName.

Non è stato trovato alcun costruttore corrispondente.

assemblyName non è stato trovato oppure il modulo che si sta provando a caricare non specifica un'estensione di file.

Non è possibile creare un'istanza di una classe astratta.

-oppure-

Questo membro è stato richiamato con un meccanismo di associazione tardiva.

Il chiamante non può fornire attributi di attivazione per un oggetto che non eredita da MarshalByRefObject.

assemblyName è la stringa vuota ("").

Commenti

Utilizzare il metodo per annullare il ObjectHandle.Unwrap valore restituito.

Un System.Runtime.InteropServices.ComVisibleAttribute attributo con un valore di true deve essere applicato in modo esplicito o per impostazione predefinita al tipo COM in modo che il CreateComInstanceFrom metodo possa creare un'istanza di tale tipo. In caso contrario, TypeLoadException viene generata.

Per informazioni su altre eccezioni che possono essere generate dai metodi richiamati, vedere la sezione Eccezioni dei Assembly.LoadFrom metodi e CreateInstance .

Nota

A partire da .NET Framework 2.0, questo metodo può essere usato per creare tipi non pubblici se il chiamante è stato concesso ReflectionPermission con il ReflectionPermissionFlag.RestrictedMemberAccess flag e se il set di concessione dell'assembly che contiene i tipi non pubblici è limitato al set di concessione del chiamante o a un subset. Vedere Considerazioni sulla sicurezza per Reflection. Per usare questa funzionalità, l'applicazione deve essere di destinazione .NET Framework 3.5 o successiva.

Si applica a

CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

Crea un'istanza dell'oggetto COM il cui nome viene specificato, usando il file di assembly denominato e il costruttore senza parametri.

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

Parametri

assemblyName
String

Nome di un file contenente un assembly nel quale viene ricercato il tipo denominato typeName.

typeName
String

Il nome del tipo di cui creare un'istanza.

hashValue
Byte[]

Valore del codice hash calcolato.

hashAlgorithm
AssemblyHashAlgorithm

Algoritmo hash usato per generare un hash per i file e generare il nome sicuro.

Restituisce

Handle che deve essere annullato per accedere all'oggetto appena creato o null per Nullable<T> le istanze.

Eccezioni

typeName o assemblyName è null.

assemblyName è la stringa vuota ("").

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.

-oppure-

assemblyName è maggiore della lunghezza massima definita nel sistema.

assemblyName non è stato trovato oppure il modulo che si sta provando a caricare non specifica un'estensione di file.

assemblyName è stato trovato, ma non può essere caricato.

assemblyName non è un assembly valido.

È stata specificata una codebase che non inizia con "file://" senza l'oggetto WebPermission richiesto.

Non è possibile creare un'istanza tramite COM.

-oppure-

Non è possibile trovare typename in assemblyName.

Non è stato trovato alcun costruttore corrispondente.

Non è possibile creare un'istanza di una classe astratta.

-oppure-

Questo membro è stato richiamato con un meccanismo di associazione tardiva.

Il chiamante non può fornire attributi di attivazione per un oggetto che non eredita da MarshalByRefObject.

Commenti

Utilizzare il metodo per annullare il ObjectHandle.Unwrap valore restituito.

Un System.Runtime.InteropServices.ComVisibleAttribute attributo con un valore di true deve essere applicato in modo esplicito o per impostazione predefinita al tipo COM in modo che il CreateComInstanceFrom metodo possa creare un'istanza di tale tipo. In caso contrario, TypeLoadException viene generata.

Per informazioni su altre eccezioni che possono essere generate dai metodi richiamati, vedere la sezione Eccezioni dei Assembly.LoadFrom metodi e CreateInstance .

Nota

A partire da .NET Framework 2.0, questo metodo può essere usato per creare tipi non pubblici se il chiamante è stato concesso ReflectionPermission con il ReflectionPermissionFlag.RestrictedMemberAccess flag e se il set di concessione dell'assembly che contiene i tipi non pubblici è limitato al set di concessione del chiamante o a un subset. Vedere Considerazioni sulla sicurezza per Reflection. Per usare questa funzionalità, l'applicazione deve essere di destinazione .NET Framework 3.5 o successiva.

Si applica a