Activator.CreateComInstanceFrom Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 WebPermission
richiesto.
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.