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
| Nome | Descrizione |
|---|---|
| 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 che contiene un assembly in cui viene cercato il tipo denominato typeName .
- typeName
- String
Nome del tipo di cui creare un'istanza.
Valori restituiti
Handle che deve essere annullato per accedere all'oggetto appena creato o null per Nullable<T> le istanze.
Eccezioni
typeName o assemblyName è null.
Impossibile creare un'istanza tramite COM.
oppure
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 del nome file.
Impossibile 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 ObjectHandle.Unwrap metodo per annullare il wrapping del valore restituito.
Un System.Runtime.InteropServices.ComVisibleAttribute attributo con un valore deve true 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 .
Note
Questo metodo può essere utilizzato per creare tipi non pubblici se il chiamante è stato concesso ReflectionPermission con il ReflectionPermissionFlag.RestrictedMemberAccess flag 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. Vedere Security Considerations for 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 che contiene 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.
Valori restituiti
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 prove diverse.
oppure
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 del nome file.
assemblyName viene trovato ma non può essere caricato.
assemblyName non è un assembly valido.
È stata specificata una codebase che non inizia con "file://" senza l'oggetto richiesto WebPermission.
Impossibile creare un'istanza tramite COM.
oppure
typeName non è stato trovato 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 ObjectHandle.Unwrap metodo per annullare il wrapping del valore restituito.
Un System.Runtime.InteropServices.ComVisibleAttribute attributo con un valore deve true 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 .
Note
Questo metodo può essere utilizzato per creare tipi non pubblici se il chiamante è stato concesso ReflectionPermission con il ReflectionPermissionFlag.RestrictedMemberAccess flag 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. Vedere Security Considerations for Reflection.) Per usare questa funzionalità, l'applicazione deve avere come destinazione .NET Framework 3.5 o versione successiva.