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 (Type, BindingFlags, Binder, Object[], CultureInfo)

 

Data di pubblicazione: ottobre 2016

Crea un'istanza del tipo specificato usando il costruttore più adatto ai parametri specificati.

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

public static object CreateInstance(
	Type type,
	BindingFlags bindingAttr,
	Binder binder,
	object[] args,
	CultureInfo culture
)

Parametri

type
Type: System.Type

Tipo di oggetto da creare.

bindingAttr
Type: System.Reflection.BindingFlags

Combinazione di zero o più flag di bit che influiscono sulla ricerca del costruttore type. 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 type. 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 type. Se culture è null, per il thread corrente verrà usato l'oggetto CultureInfo.

Valore restituito

Type: System.Object

Riferimento all'oggetto di recente creazione.

Exception Condition
ArgumentNullException

type è null.

ArgumentException

type non è un oggetto RuntimeType.

-oppure-

type è un tipo generico aperto (ovvero, la proprietà ContainsGenericParameters restituisce true).

NotSupportedException

type non può essere un TypeBuilder.

-oppure-

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

-oppure-

L'assembly che contiene type è un assembly dinamico creato con AssemblyBuilderAccess.Save.

-oppure-

Il costruttore che corrisponde maggiormente a args ha argomenti varargs.

TargetInvocationException

Il costruttore chiamato genera un'eccezione.

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.

InvalidComObjectException

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

MissingMethodException

Non è stato trovato alcun costruttore corrispondente.

COMException

type è un oggetto COM ma l'identificatore di classe usato per ottenere il tipo non è valido oppure la classe identificata non è registrata.

TypeLoadException

type non è un tipo valido.

Il costruttore da richiamare deve fornire massima corrispondenza con l'elenco di argomenti specificati in base ai vincoli del binder specificato e attributi di associazione.

System_CAPS_noteNota

A partire dal .NET Framework 2.0 Service Pack 1, questo metodo può essere utilizzato per accedere a membri e tipi non pubblici se il chiamante sia 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: