Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

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

 

Data di pubblicazione: ottobre 2016

obsoleteCodeEntityM:System.Activator.CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]) Nota: Questa API è ora obsoleta.

Crea un'istanza del tipo il cui nome è specificato, usando l'assembly denominato e il costruttore più adatto ai parametri specificati.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

[ObsoleteAttribute("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 static ObjectHandle CreateInstance(
	string assemblyName,
	string typeName,
	bool ignoreCase,
	BindingFlags bindingAttr,
	Binder binder,
	object[] args,
	CultureInfo culture,
	object[] activationAttributes,
	Evidence securityInfo
)

Parametri

assemblyName
Type: System.String

Nome dell'assembly nel quale viene ricercato il tipo denominato typeName. Se assemblyName è null, viene effettuata la ricerca nell'assembly in esecuzione.

typeName
Type: System.String

Nome completo del tipo di oggetto preferito.

ignoreCase
Type: System.Boolean

true per specificare che la ricerca di typeName non fa distinzione tra maiuscole e minuscole, false per specificare che la ricerca fa distinzione tra maiuscole e minuscole.

bindingAttr
Type: System.Reflection.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
Type: System.Reflection.Binder

Oggetto che usa bindingAttr e args per cercare e identificare il costruttore typeName. Se binder è null, verrà usato il binder predefinito.

args
Type: System.Object[]

Matrice di argomenti che corrisponde ai parametri del costruttore da chiamare in quanto a numero, ordine e tipo. Se args è una matrice vuota oppure null, viene chiamato il costruttore che non accetta parametri, ovvero il costruttore predefinito.

culture
Type: System.Globalization.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
Type: System.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.

securityInfo
Type: System.Security.Policy.Evidence

Informazioni usate per prendere decisioni relative ai criteri di sicurezza e per concedere autorizzazioni di codice.

Valore restituito

Type: System.Runtime.Remoting.ObjectHandle

Handle di cui deve essere annullato il wrapping per accedere all'istanza appena creata.

Exception Condition
ArgumentNullException

typeName è null.

MissingMethodException

Non è stato trovato alcun costruttore corrispondente.

TypeLoadException

Non è possibile trovare typename in assemblyName.

FileNotFoundException

Il parametro assemblyName non è stato trovato.

MethodAccessException

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

MemberAccessException

Non è possibile creare un'istanza di una classe astratta o questo membro è stato richiamato con un meccanismo di associazione tardiva.

TargetInvocationException

Il costruttore, richiamato tramite reflection, ha generato un'eccezione.

InvalidComObjectException

Il tipo COM non è stato ottenuto tramite GetTypeFromProgID o GetTypeFromCLSID.

NotSupportedException

La creazione di tipi TypedReference, ArgIterator, Void e RuntimeArgumentHandle, o di matrici di questi tipi, non è supportata.

-oppure-

activationAttributes non è una matrice vuota e il tipo creato non deriva da MarshalByRefObject.

-oppure-

Il costruttore che corrisponde maggiormente a args ha argomenti varargs.

BadImageFormatException

assemblyName non è un assembly valido.

-oppure-

Attualmente è caricata la versione 2.0 o successiva di Common Language Runtime (CLR) e assemblyName è stato compilato per una versione di CLR successiva a quella attualmente caricata. Si noti che le versioni 2.0, 3.0 e 3.5 di .NET Framework usano tutte CLR versione 2.0.

FileLoadException

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

-oppure-

La codebase o il nome dell'assembly non è valido.

Utilizzare ObjectHandle.Unwrap per annullare il valore restituito.

System_CAPS_noteNota

A partire dal .NET Framework 2.0 Service Pack 1, questo metodo può essere utilizzato per creare membri e tipi non pubblici, se il chiamante è stata concessa ReflectionPermission con il ReflectionPermissionFlag.RestrictedMemberAccess flag e se il set di concessioni dell'assembly che contiene i tipi non pubblici e i membri è limitato al set di autorizzazioni del chiamante o a un sottoinsieme. Per informazioni, vedere Security Considerations for Reflection.

Per usare questa funzionalità, l'applicazione deve essere destinata a .NET Framework 3.5 o versione successiva.

SecurityPermission

for the ability to call unmanaged code when creating an instance of a delegate. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode

ReflectionPermission

for accessing nonpublic types and members when the grant set of the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. Associated enumeration: F:System.Security.Permissions.ReflectionPermissionFlag.RestrictedMemberAccess

ReflectionPermission

for accessing nonpublic types and members regardless of their grant set. Associated enumeration: F:System.Security.Permissions.ReflectionPermissionFlag.MemberAccess

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: