Condividi tramite


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 un binder, flag di associazione, argomenti del costruttore, informazioni specifiche delle impostazioni cultura usate per interpretare gli argomenti e 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 un binder, flag di associazione, argomenti del costruttore, informazioni specifiche delle impostazioni cultura usate per interpretare argomenti, attributi di attivazione e autorizzazione per creare il tipo.

CreateInstance(String, String)

Origine:
AppDomain.cs
Origine:
AppDomain.cs
Origine:
AppDomain.cs

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, incluso lo spazio dei nomi ma non l'assembly, come restituito dalla proprietà FullName.

Restituisce

Oggetto che è 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 applicazione scaricato.

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 prove diverse.

assemblyName non è stato trovato.

Il chiamante non dispone dell'autorizzazione per chiamare questo costruttore.

Non è stato trovato alcun costruttore pubblico corrispondente.

typeName non è stato trovato 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 chiamare CreateInstance in 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 non è MarshalByRefObject, quando questo metodo tenta di restituire il Assembly per l'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 per primo se le impostazioni del percorso per i due domini applicazione sono diverse.

Vedi anche

Si applica a

CreateInstance(String, String, Object[])

Origine:
AppDomain.cs
Origine:
AppDomain.cs
Origine:
AppDomain.cs

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, incluso lo spazio dei nomi ma non l'assembly, come restituito dalla proprietà FullName.

activationAttributes
Object[]

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

Questo parametro è correlato agli oggetti attivati dal client. L'attivazione client è una tecnologia legacy che viene mantenuta per la compatibilità con le versioni precedenti, ma non è consigliata per il nuovo sviluppo. Le applicazioni distribuite devono invece usare Windows Communication Foundation.

Restituisce

Oggetto che è 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 applicazione scaricato.

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 prove diverse.

assemblyName non è stato trovato.

Il chiamante non dispone dell'autorizzazione per chiamare questo costruttore.

Non è stato trovato alcun costruttore pubblico corrispondente.

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

typeName non è stato trovato 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 chiamare CreateInstance in 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 non è MarshalByRefObject, quando questo metodo tenta di restituire il Assembly per l'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 per primo 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[])

Origine:
AppDomain.cs
Origine:
AppDomain.cs
Origine:
AppDomain.cs

Crea una nuova istanza del tipo specificato definito nell'assembly specificato. I parametri specificano un binder, flag di associazione, argomenti del costruttore, informazioni specifiche delle impostazioni cultura usate per interpretare gli argomenti e 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, incluso lo spazio dei nomi ma non l'assembly, come restituito dalla proprietà FullName.

ignoreCase
Boolean

Valore booleano che specifica se eseguire o meno 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 è zero, viene eseguita una ricerca con distinzione tra maiuscole e minuscole per i costruttori pubblici.

binder
Binder

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

args
Object[]

Argomenti da passare al costruttore. Questa matrice di argomenti deve corrispondere in numero, ordine e digitare i parametri del costruttore da richiamare. Se si preferisce 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, viene utilizzato il CultureInfo per il thread corrente.

activationAttributes
Object[]

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

Questo parametro è correlato agli oggetti attivati dal client. L'attivazione client è una tecnologia legacy che viene mantenuta per la compatibilità con le versioni precedenti, ma non è consigliata per il nuovo sviluppo. Le applicazioni distribuite devono invece usare Windows Communication Foundation.

Restituisce

Oggetto che è 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 applicazione scaricato.

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 prove diverse.

assemblyName non è stato trovato.

Il chiamante non dispone dell'autorizzazione per chiamare questo costruttore.

Non è stato trovato alcun costruttore corrispondente.

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

typeName non è stato trovato in assemblyName.

Questa istanza è null.

Commenti

Vedere AssemblyName per il formato di assemblyName.

Un tentativo di chiamare CreateInstance in 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 non è MarshalByRefObject, quando questo metodo tenta di restituire il Assembly per l'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 per primo 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 un binder, flag di associazione, argomenti del costruttore, informazioni specifiche delle impostazioni cultura usate per interpretare argomenti, attributi di attivazione e autorizzazione per creare il 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, incluso lo spazio dei nomi ma non l'assembly, come restituito dalla proprietà FullName.

ignoreCase
Boolean

Valore booleano che specifica se eseguire o meno 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 è zero, viene eseguita una ricerca con distinzione tra maiuscole e minuscole per i costruttori pubblici.

binder
Binder

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

args
Object[]

Argomenti da passare al costruttore. Questa matrice di argomenti deve corrispondere in numero, ordine e digitare i parametri del costruttore da richiamare. Se si preferisce 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, viene utilizzato il CultureInfo per il thread corrente.

activationAttributes
Object[]

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

Questo parametro è correlato agli oggetti attivati dal client. L'attivazione client è una tecnologia legacy che viene mantenuta per la compatibilità con le versioni precedenti, ma non è consigliata per il nuovo sviluppo. Le applicazioni distribuite devono invece usare Windows Communication Foundation.

securityAttributes
Evidence

Informazioni usate per autorizzare la creazione di typeName.

Restituisce

Oggetto che è 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 applicazione scaricato.

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 prove diverse.

assemblyName non è stato trovato.

Il chiamante non dispone dell'autorizzazione per chiamare questo costruttore.

Non è stato trovato alcun costruttore corrispondente.

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

-o-

securityAttributes non è null. Quando i criteri CAS legacy non sono abilitati, securityAttributes devono essere null

typeName non è stato trovato in assemblyName.

Questa istanza è null.

Commenti

Vedere AssemblyName per il formato di assemblyName.

Un tentativo di chiamare CreateInstance in 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 non è MarshalByRefObject, quando questo metodo tenta di restituire il Assembly per l'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 per primo se le impostazioni del percorso per i due domini applicazione sono diverse.

Vedi anche

Si applica a