AppDomain.CreateInstance Metodo

Definizione

Crea una nuova istanza di un tipo specificato definito in un assembly specificato.

Overload

CreateInstance(String, String)

Crea una nuova istanza del tipo specificato definito nell'assembly specificato.

CreateInstance(String, String, Object[])

Crea una nuova istanza del tipo specificato definito nell'assembly specificato. Un parametro specifica una matrice di attributi di attivazione.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Crea una nuova istanza del tipo specificato definito nell'assembly specificato. I parametri specificano uno strumento di associazione, i flag di associazione, gli argomenti del costruttore, le informazioni specifiche delle impostazioni cultura usate per interpretare gli argomenti e gli attributi di attivazione facoltativi.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Obsoleti.

Crea una nuova istanza del tipo specificato definito nell'assembly specificato. I parametri specificano lo strumento di associazione, i flag di associazione, gli argomenti del costruttore, le informazioni specifiche delle impostazioni cultura usate per interpretare gli argomenti, gli attributi di attivazione e l'autorizzazione per la creazione del tipo.

CreateInstance(String, String)

Crea una nuova istanza del tipo specificato definito nell'assembly specificato.

public:
 System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public:
 virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName);
member this.CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
abstract member CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String) As ObjectHandle

Parametri

assemblyName
String

Nome visualizzato dell'assembly. Vedere FullName.

typeName
String

Nome completo del tipo richiesto, compreso lo spazio dei nomi ed escluso l'assembly, restituito dalla proprietà FullName.

Restituisce

Oggetto che rappresenta un wrapper per la nuova istanza specificata da typeName. Per accedere all'oggetto reale è necessario rimuovere il wrapping del valore restituito.

Implementazioni

Eccezioni

L'operazione viene tentata in un dominio dell'applicazione non caricato.

assemblyName o typeName è null.

assemblyName non è un assembly valido per il runtime attualmente caricato.

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

Il parametro assemblyName non è stato trovato.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore.

Non è stato trovato alcun costruttore pubblico corrispondente.

Non è possibile trovare typename in assemblyName.

Questa istanza è null.

Commenti

Questo metodo chiama il costruttore senza parametri per typeName.

Vedere AssemblyName per il formato di assemblyName.

Un tentativo di chiamata CreateInstance a un dominio applicazione di destinazione che non è il dominio dell'applicazione corrente comporterà un caricamento riuscito dell'assembly nel dominio dell'applicazione di destinazione. Poiché un Assembly oggetto non MarshalByRefObjectè , quando questo metodo tenta di restituire l'assembly Assembly caricato nel dominio applicazione corrente, Common Language Runtime tenterà di caricare l'assembly nel dominio applicazione corrente e il carico potrebbe non riuscire. L'assembly caricato nel dominio applicazione corrente potrebbe essere diverso dall'assembly caricato prima se le impostazioni del percorso per i due domini applicazione sono diverse.

Vedi anche

Si applica a

CreateInstance(String, String, Object[])

Crea una nuova istanza del tipo specificato definito nell'assembly specificato. Un parametro specifica una matrice di attributi di attivazione.

public:
 System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public:
 virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, cli::array <System::Object ^> ^ activationAttributes);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName, object?[]? activationAttributes);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, object[] activationAttributes);
member this.CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
abstract member CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String, activationAttributes As Object()) As ObjectHandle

Parametri

assemblyName
String

Nome visualizzato dell'assembly. Vedere FullName.

typeName
String

Nome completo del tipo richiesto, compreso lo spazio dei nomi ed escluso l'assembly, restituito dalla proprietà FullName.

activationAttributes
Object[]

Matrice di uno o più attributi che possono prendere parte all'attivazione. In genere, matrice che contiene un singolo oggetto UrlAttribute che specifica l'URL necessario per attivare un oggetto remoto.

Il parametro è correlato agli oggetti attivati dal client. L'attivazione del client è una tecnologia legacy mantenuta per garantire la compatibilità con le versioni precedenti, ma non è consigliata per nuove attività di sviluppo. Per le applicazioni distribuite si dovrebbe usare invece Windows Communication Foundation.

Restituisce

Oggetto che rappresenta un wrapper per la nuova istanza specificata da typeName. Per accedere all'oggetto reale è necessario rimuovere il wrapping del valore restituito.

Implementazioni

Eccezioni

L'operazione viene tentata in un dominio dell'applicazione non caricato.

assemblyName o typeName è null.

assemblyName non è un assembly valido per il runtime attualmente caricato.

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

Il parametro assemblyName non è stato trovato.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore.

Non è stato trovato alcun costruttore pubblico corrispondente.

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

Non è possibile trovare typename in assemblyName.

Questa istanza è null.

Commenti

Questo metodo chiama il costruttore senza parametri per typeName.

Vedere AssemblyName per il formato di assemblyName.

Un tentativo di chiamata CreateInstance a un dominio applicazione di destinazione che non è il dominio dell'applicazione corrente comporterà un caricamento riuscito dell'assembly nel dominio dell'applicazione di destinazione. Poiché un Assembly oggetto non MarshalByRefObjectè , quando questo metodo tenta di restituire l'assembly Assembly caricato nel dominio applicazione corrente, Common Language Runtime tenterà di caricare l'assembly nel dominio applicazione corrente e il carico potrebbe non riuscire. L'assembly caricato nel dominio applicazione corrente potrebbe essere diverso dall'assembly caricato prima se le impostazioni del percorso per i due domini applicazione sono diverse.

Vedi anche

Si applica a

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Crea una nuova istanza del tipo specificato definito nell'assembly specificato. I parametri specificano uno strumento di associazione, i flag di associazione, gli argomenti del costruttore, le informazioni specifiche delle impostazioni cultura usate per interpretare gli argomenti e gli attributi di attivazione facoltativi.

public:
 System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
public System.Runtime.Remoting.ObjectHandle? CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, object?[]? args, System.Globalization.CultureInfo? culture, object?[]? activationAttributes);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
member this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object()) As ObjectHandle

Parametri

assemblyName
String

Nome visualizzato dell'assembly. Vedere FullName.

typeName
String

Nome completo del tipo richiesto, compreso lo spazio dei nomi ed escluso l'assembly, restituito dalla proprietà FullName.

ignoreCase
Boolean

Valore booleano che indica se deve o meno essere eseguita una ricerca con distinzione tra maiuscole e minuscole.

bindingAttr
BindingFlags

Combinazione di zero o più flag di bit che influiscono sulla ricerca del costruttore typeName. Se bindingAttr è uguale a zero, verrà eseguita una ricerca di costruttori pubblici con distinzione tra maiuscole e minuscole.

binder
Binder

Oggetto che consente l'associazione, la coercizione dei tipi di argomento, la chiamata dei membri e il recupero di oggetti MemberInfo tramite reflection. Se binder è Null, verrà usato il binder predefinito.

args
Object[]

Argomenti da passare al costruttore. La matrice di argomenti deve corrispondere ai parametri del costruttore da richiamare in quanto a numero, ordine e tipo. Per usare il costruttore senza parametri, args deve essere una matrice vuota o Null.

culture
CultureInfo

Informazioni specifiche delle impostazioni cultura che regolano la coercizione di args ai tipi formali dichiarati per il costruttore typeName. Se culture è null, per il thread corrente verrà usato l'oggetto CultureInfo.

activationAttributes
Object[]

Matrice di uno o più attributi che possono prendere parte all'attivazione. In genere, matrice che contiene un singolo oggetto UrlAttribute che specifica l'URL necessario per attivare un oggetto remoto.

Il parametro è correlato agli oggetti attivati dal client. L'attivazione del client è una tecnologia legacy mantenuta per garantire la compatibilità con le versioni precedenti, ma non è consigliata per nuove attività di sviluppo. Per le applicazioni distribuite si dovrebbe usare invece Windows Communication Foundation.

Restituisce

Oggetto che rappresenta un wrapper per la nuova istanza specificata da typeName. Per accedere all'oggetto reale è necessario rimuovere il wrapping del valore restituito.

Eccezioni

L'operazione viene tentata in un dominio dell'applicazione non caricato.

assemblyName o typeName è null.

assemblyName non è un assembly valido per il runtime attualmente caricato.

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

Il parametro assemblyName non è stato trovato.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore.

Non è stato trovato alcun costruttore corrispondente.

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

Non è possibile trovare typename in assemblyName.

Questa istanza è null.

Commenti

Vedere AssemblyName per il formato di assemblyName.

Un tentativo di chiamata CreateInstance a un dominio applicazione di destinazione che non è il dominio dell'applicazione corrente comporterà un caricamento riuscito dell'assembly nel dominio dell'applicazione di destinazione. Poiché un Assembly oggetto non MarshalByRefObjectè , quando questo metodo tenta di restituire l'assembly Assembly caricato nel dominio applicazione corrente, Common Language Runtime tenterà di caricare l'assembly nel dominio applicazione corrente e il carico potrebbe non riuscire. L'assembly caricato nel dominio applicazione corrente potrebbe essere diverso dall'assembly caricato prima se le impostazioni del percorso per i due domini applicazione sono diverse.

Vedi anche

Si applica a

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Attenzione

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Crea una nuova istanza del tipo specificato definito nell'assembly specificato. I parametri specificano lo strumento di associazione, i flag di associazione, gli argomenti del costruttore, le informazioni specifiche delle impostazioni cultura usate per interpretare gli argomenti, gli attributi di attivazione e l'autorizzazione per la creazione del tipo.

public:
 virtual System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName, bool ignoreCase, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes, System::Security::Policy::Evidence ^ securityAttributes);
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes, System.Security.Policy.Evidence securityAttributes);
abstract member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of CreateInstance which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
abstract member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
override this.CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle
Public Function CreateInstance (assemblyName As String, typeName As String, ignoreCase As Boolean, bindingAttr As BindingFlags, binder As Binder, args As Object(), culture As CultureInfo, activationAttributes As Object(), securityAttributes As Evidence) As ObjectHandle

Parametri

assemblyName
String

Nome visualizzato dell'assembly. Vedere FullName.

typeName
String

Nome completo del tipo richiesto, compreso lo spazio dei nomi ed escluso l'assembly, restituito dalla proprietà FullName.

ignoreCase
Boolean

Valore booleano che indica se deve o meno essere eseguita una ricerca con distinzione tra maiuscole e minuscole.

bindingAttr
BindingFlags

Combinazione di zero o più flag di bit che influiscono sulla ricerca del costruttore typeName. Se bindingAttr è uguale a zero, verrà eseguita una ricerca di costruttori pubblici con distinzione tra maiuscole e minuscole.

binder
Binder

Oggetto che consente l'associazione, la coercizione dei tipi di argomento, la chiamata dei membri e il recupero di oggetti MemberInfo tramite reflection. Se binder è Null, verrà usato il binder predefinito.

args
Object[]

Argomenti da passare al costruttore. La matrice di argomenti deve corrispondere ai parametri del costruttore da richiamare in quanto a numero, ordine e tipo. Per usare il costruttore senza parametri, args deve essere una matrice vuota o Null.

culture
CultureInfo

Informazioni specifiche delle impostazioni cultura che regolano la coercizione di args ai tipi formali dichiarati per il costruttore typeName. Se culture è null, per il thread corrente verrà usato l'oggetto CultureInfo.

activationAttributes
Object[]

Matrice di uno o più attributi che possono prendere parte all'attivazione. In genere, matrice che contiene un singolo oggetto UrlAttribute che specifica l'URL necessario per attivare un oggetto remoto.

Il parametro è correlato agli oggetti attivati dal client. L'attivazione del client è una tecnologia legacy mantenuta per garantire la compatibilità con le versioni precedenti, ma non è consigliata per nuove attività di sviluppo. Per le applicazioni distribuite si dovrebbe usare invece Windows Communication Foundation.

securityAttributes
Evidence

Informazioni usate per autorizzare la creazione di typeName.

Restituisce

Oggetto che rappresenta un wrapper per la nuova istanza specificata da typeName. Per accedere all'oggetto reale è necessario rimuovere il wrapping del valore restituito.

Implementazioni

Attributi

Eccezioni

L'operazione viene tentata in un dominio dell'applicazione non caricato.

assemblyName o typeName è null.

assemblyName non è un assembly valido per il runtime attualmente caricato.

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

Il parametro assemblyName non è stato trovato.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore.

Non è stato trovato alcun costruttore corrispondente.

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

-oppure-

securityAttributes non è null. Quando i criteri di sicurezza dall'accesso di codice legacy non sono abilitati, securityAttributes deve essere null

Non è possibile trovare typename in assemblyName.

Questa istanza è null.

Commenti

Vedere AssemblyName per il formato di assemblyName.

Un tentativo di chiamare CreateInstance su un dominio applicazione di destinazione che non è il dominio applicazione corrente genererà un caricamento corretto dell'assembly nel dominio dell'applicazione di destinazione. Poiché un Assembly oggetto non MarshalByRefObjectè , quando questo metodo tenta di restituire l'oggetto Assembly per l'assembly caricato nel dominio applicazione corrente, Common Language Runtime tenterà di caricare l'assembly nel dominio applicazione corrente e il caricamento potrebbe non riuscire. L'assembly caricato nel dominio applicazione corrente potrebbe essere diverso dall'assembly caricato per primo se le impostazioni del percorso per i due domini applicazione sono diverse.

Vedi anche

Si applica a