Condividi tramite


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 è specificato, utilizzando il file assembly denominato e il costruttore senza parametri.

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

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

CreateComInstanceFrom(String, String)

Crea un'istanza dell'oggetto COM il cui nome è specificato, utilizzando il file 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 in cui viene cercato il tipo denominato typeName.

typeName
String

Nome del tipo di cui creare un'istanza.

Restituisce

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

Eccezioni

typeName o assemblyName è null.

Impossibile creare un'istanza tramite COM.

-o-

typeName non è stato trovato in assemblyName.

Non è stato trovato alcun costruttore corrispondente.

assemblyName non viene trovato oppure il modulo che si sta tentando di caricare non specifica un'estensione di file.

Impossibile creare un'istanza di una classe astratta.

-o-

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 ObjectHandle.Unwrap per annullare il wrapping del valore restituito.

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

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

Nota

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

Si applica a

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

Crea un'istanza dell'oggetto COM il cui nome è specificato, utilizzando il file 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 in cui viene cercato il tipo denominato typeName.

typeName
String

Nome del tipo di cui creare un'istanza.

hashValue
Byte[]

Valore del codice hash calcolato.

hashAlgorithm
AssemblyHashAlgorithm

Algoritmo hash usato per l'hashing dei file e la generazione del nome sicuro.

Restituisce

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

Eccezioni

typeName o assemblyName è null.

assemblyName è la stringa vuota ("").

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

-o-

assemblyName è maggiore della lunghezza massima definita dal sistema.

assemblyName non viene trovato oppure il modulo che si sta tentando di caricare non specifica un'estensione di file.

assemblyName viene trovato ma non può essere caricato.

assemblyName non è un assembly valido.

È stata specificata una codebase che non inizia con "file://" senza il WebPermissionrichiesto.

Impossibile creare un'istanza tramite COM.

-o-

typeName non è stato trovato in assemblyName.

Non è stato trovato alcun costruttore corrispondente.

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

-o-

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 ObjectHandle.Unwrap per annullare il wrapping del valore restituito.

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

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

Nota

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

Si applica a