Activator.CreateInstance Activator.CreateInstance Activator.CreateInstance Activator.CreateInstance Method

Definizione

Crea un'istanza del tipo specificato usando il costruttore più adatto ai parametri specificati. Creates an instance of the specified type using the constructor that best matches the specified parameters.

Overload

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

Crea un'istanza del tipo il cui nome è specificato nel dominio remoto specificato, usando l'assembly denominato e il costruttore che corrisponde maggiormente ai parametri specificati. Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

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

Crea un'istanza del tipo il cui nome è specificato nel dominio remoto specificato, usando l'assembly denominato e il costruttore che corrisponde maggiormente ai parametri specificati. Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

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

Crea un'istanza del tipo il cui nome è specificato, usando l'assembly denominato e il costruttore più adatto ai parametri specificati. Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])

Crea un'istanza del tipo specificato usando il costruttore più adatto ai parametri specificati. Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo)

Crea un'istanza del tipo specificato usando il costruttore più adatto ai parametri specificati. Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(Type, Object[], Object[]) CreateInstance(Type, Object[], Object[]) CreateInstance(Type, Object[], Object[])

Crea un'istanza del tipo specificato usando il costruttore più adatto ai parametri specificati. Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[])

Crea un'istanza del tipo il cui nome è specificato, usando l'assembly denominato e il costruttore predefinito. Creates an instance of the type whose name is specified, using the named assembly and default constructor.

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

Crea un'istanza del tipo il cui nome è specificato, usando l'assembly denominato e il costruttore più adatto ai parametri specificati. Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

CreateInstance(Type, Object[]) CreateInstance(Type, Object[]) CreateInstance(Type, Object[])

Crea un'istanza del tipo specificato usando il costruttore più adatto ai parametri specificati. Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(Type, Boolean) CreateInstance(Type, Boolean) CreateInstance(Type, Boolean)

Crea un'istanza del tipo specificato usando il costruttore predefinito di tale tipo. Creates an instance of the specified type using that type's default constructor.

CreateInstance(String, String) CreateInstance(String, String) CreateInstance(String, String) CreateInstance(String, String)

Crea un'istanza del tipo il cui nome è specificato, usando l'assembly denominato e il costruttore predefinito. Creates an instance of the type whose name is specified, using the named assembly and default constructor.

CreateInstance(ActivationContext, String[]) CreateInstance(ActivationContext, String[]) CreateInstance(ActivationContext, String[])

Crea un'istanza del tipo designato dall'oggetto ActivationContext specificato e attivato con i dati di attivazione personalizzati specificati. Creates an instance of the type that is designated by the specified ActivationContext object and activated with the specified custom activation data.

CreateInstance(Type) CreateInstance(Type) CreateInstance(Type)

Crea un'istanza del tipo specificato usando il costruttore predefinito di tale tipo. Creates an instance of the specified type using that type's default constructor.

CreateInstance(ActivationContext) CreateInstance(ActivationContext) CreateInstance(ActivationContext)

Crea un'istanza del tipo designato dall'oggetto ActivationContext specificato. Creates an instance of the type designated by the specified ActivationContext object.

CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String)

Crea un'istanza del tipo il cui nome è specificato nel dominio remoto specificato, usando l'assembly denominato e il costruttore predefinito. Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and default constructor.

CreateInstance<T>() CreateInstance<T>() CreateInstance<T>() CreateInstance<T>()

Crea un'istanza del tipo designato dal parametro di tipo generico specificato, usando il costruttore senza parametri. Creates an instance of the type designated by the specified generic type parameter, using the parameterless constructor.

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

Avviso

Questa API è ora obsoleta.

Crea un'istanza del tipo il cui nome è specificato nel dominio remoto specificato, usando l'assembly denominato e il costruttore che corrisponde maggiormente ai parametri specificati. Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, 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);
[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.")]
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance (AppDomain domain, 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);
static member CreateInstance : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle

Parametri

domain
AppDomain AppDomain AppDomain AppDomain

Dominio in cui viene creato il tipo denominato typeName. The domain where the type named typeName is created.

assemblyName
String String String String

Nome dell'assembly nel quale viene ricercato il tipo denominato typeName. The name of the assembly where the type named typeName is sought. Se assemblyName è null, viene effettuata la ricerca nell'assembly in esecuzione. If assemblyName is null, the executing assembly is searched.

typeName
String String String String

Nome completo del tipo di oggetto preferito. The fully qualified name of the preferred type.

ignoreCase
Boolean Boolean Boolean 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. true to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

Combinazione di zero o più flag di bit che influiscono sulla ricerca del costruttore typeName. A combination of zero or more bit flags that affect the search for the typeName constructor. Se bindingAttr è uguale a zero, verrà eseguita una ricerca di costruttori pubblici con distinzione tra maiuscole e minuscole. If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

Oggetto che usa bindingAttr e args per cercare e identificare il costruttore typeName. An object that uses bindingAttr and args to seek and identify the typeName constructor. Se binder è null, verrà usato il binder predefinito. If binder is null, the default binder is used.

args
Object[]

Matrice di argomenti che corrisponde ai parametri del costruttore da chiamare in quanto a numero, ordine e tipo. An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Se args è una matrice vuota oppure è null, viene chiamato il costruttore che non accetta parametri, ovvero il costruttore predefinito. If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

Informazioni specifiche delle impostazioni cultura che regolano la coercizione di args ai tipi formali dichiarati per il costruttore typeName. Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. Se culture è null, per il thread corrente verrà usato l'oggetto CultureInfo. If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Matrice di uno o più attributi che possono prendere parte all'attivazione. An array of one or more attributes that can participate in activation. In genere, corrisponde a una matrice che contiene un unico oggetto UrlAttribute. This is typically an array that contains a single UrlAttribute object. L'oggetto UrlAttribute specifica l'URL necessario per attivare un oggetto remoto. The UrlAttribute specifies the URL that is required to activate a remote object.

securityAttributes
Evidence Evidence Evidence Evidence

Informazioni usate per prendere decisioni relative ai criteri di sicurezza e per concedere autorizzazioni di codice. Information used to make security policy decisions and grant code permissions.

Restituisce

Handle di cui deve essere annullato il wrapping per accedere all'istanza appena creata. A handle that must be unwrapped to access the newly created instance.

Eccezioni

domain o typeName è null. domain or typeName is null.

Non è stato trovato alcun costruttore corrispondente. No matching constructor was found.

Non è possibile trovare typename in assemblyName. typename was not found in assemblyName.

Il parametro assemblyName non è stato trovato. assemblyName was not found.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore. The caller does not have permission to call this constructor.

Non è possibile creare un'istanza di una classe astratta o questo membro è stato richiamato con un meccanismo di associazione tardiva. Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Il costruttore, richiamato tramite reflection, ha generato un'eccezione. The constructor, which was invoked through reflection, threw an exception.

La creazione di tipi TypedReference, ArgIterator, Void e RuntimeArgumentHandle, o di matrici di questi tipi, non è supportata. Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported. oppure -or- activationAttributes non è una matrice vuota e il tipo creato non deriva da MarshalByRefObject. activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject. oppure -or- Il costruttore che corrisponde maggiormente a args ha argomenti varargs. The constructor that best matches args has varargs arguments.

assemblyName non è un assembly valido. assemblyName is not a valid assembly. oppure -or- 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. The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Si noti che le versioni 2.0, 3.0 e 3.5 di .NET Framework usano tutte CLR versione 2.0. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse. An assembly or module was loaded twice with two different evidences. oppure -or- La codebase o il nome dell'assembly non è valido. The assembly name or code base is invalid.

Commenti

Usare CreateInstance quando un host deve eseguire il codice in un dominio dell'applicazione con autorizzazioni di sicurezza limitate.Use CreateInstance when a host needs to execute code in an application domain that has restricted security permissions.

Usare ObjectHandle.Unwrap per scartare il valore restituito.Use ObjectHandle.Unwrap to unwrap the return value.

Nota

Questo metodo Usa SecurityAction.LinkDemand per richiedere che il chiamante immediato disponga di attendibilità.This method uses SecurityAction.LinkDemand to require the immediate caller to have full trust.

Sicurezza

SecurityPermission
la possibilità di chiamare codice non gestito durante la creazione di un'istanza di un delegato. for the ability to call unmanaged code when creating an instance of a delegate. Enumerazione associata: UnmanagedCode Associated enumeration: UnmanagedCode

ReflectionPermission
la possibilità di richiamare le operazioni su tutti i membri di tipo. for the ability to invoke operations on all type members. Enumerazione associata: MemberAccess Associated enumeration: MemberAccess

SecurityCriticalAttribute
richiede l'attendibilità totale per il chiamante immediato. requires full trust for the immediate caller. Questo membro non può essere utilizzato da codice parzialmente attendibile o trasparente. This member cannot be used by partially trusted or transparent code.

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

Crea un'istanza del tipo il cui nome è specificato nel dominio remoto specificato, usando l'assembly denominato e il costruttore che corrisponde maggiormente ai parametri specificati. Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, 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.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance (AppDomain domain, string assemblyName, string typeName, bool ignoreCase, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
static member CreateInstance : AppDomain * string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle

Parametri

domain
AppDomain AppDomain AppDomain AppDomain

Dominio in cui viene creato il tipo denominato typeName. The domain where the type named typeName is created.

assemblyName
String String String String

Nome dell'assembly nel quale viene ricercato il tipo denominato typeName. The name of the assembly where the type named typeName is sought. Se assemblyName è null, viene effettuata la ricerca nell'assembly in esecuzione. If assemblyName is null, the executing assembly is searched.

typeName
String String String String

Nome completo del tipo di oggetto preferito. The fully qualified name of the preferred type.

ignoreCase
Boolean Boolean Boolean 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. true to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

Combinazione di zero o più flag di bit che influiscono sulla ricerca del costruttore typeName. A combination of zero or more bit flags that affect the search for the typeName constructor. Se bindingAttr è uguale a zero, verrà eseguita una ricerca di costruttori pubblici con distinzione tra maiuscole e minuscole. If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

Oggetto che usa bindingAttr e args per cercare e identificare il costruttore typeName. An object that uses bindingAttr and args to seek and identify the typeName constructor. Se binder è null, verrà usato il binder predefinito. If binder is null, the default binder is used.

args
Object[]

Matrice di argomenti che corrisponde ai parametri del costruttore da chiamare in quanto a numero, ordine e tipo. An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Se args è una matrice vuota oppure è null, viene chiamato il costruttore che non accetta parametri, ovvero il costruttore predefinito. If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

Informazioni specifiche delle impostazioni cultura che regolano la coercizione di args ai tipi formali dichiarati per il costruttore typeName. Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. Se culture è null, per il thread corrente verrà usato l'oggetto CultureInfo. If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Matrice di uno o più attributi che possono prendere parte all'attivazione. An array of one or more attributes that can participate in activation. In genere, matrice che contiene un singolo oggetto UrlAttribute che specifica l'URL necessario per attivare un oggetto remoto. This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object. Il parametro è correlato agli oggetti attivati dal client. This parameter is related to client-activated objects. L'attivazione del client è una tecnologia legacy mantenuta per garantire la compatibilità con le versioni precedenti, ma non è consigliata per nuove attività di sviluppo. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Per le applicazioni distribuite si dovrebbe usare invece Windows Communication Foundation. Distributed applications should instead use Windows Communication Foundation.

Restituisce

Handle di cui deve essere annullato il wrapping per accedere all'istanza appena creata. A handle that must be unwrapped to access the newly created instance.

Eccezioni

domain o typeName è null. domain or typeName is null.

Non è stato trovato alcun costruttore corrispondente. No matching constructor was found.

Non è possibile trovare typename in assemblyName. typename was not found in assemblyName.

Il parametro assemblyName non è stato trovato. assemblyName was not found.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore. The caller does not have permission to call this constructor.

Non è possibile creare un'istanza di una classe astratta o questo membro è stato richiamato con un meccanismo di associazione tardiva. Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Il costruttore, richiamato tramite reflection, ha generato un'eccezione. The constructor, which was invoked through reflection, threw an exception.

La creazione di tipi TypedReference, ArgIterator, Void e RuntimeArgumentHandle, o di matrici di questi tipi, non è supportata. Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported. oppure -or- activationAttributes non è una matrice vuota e il tipo creato non deriva da MarshalByRefObject. activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject. oppure -or- Il costruttore che corrisponde maggiormente a args ha argomenti varargs. The constructor that best matches args has varargs arguments.

assemblyName non è un assembly valido. assemblyName is not a valid assembly. oppure -or- 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. The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Si noti che le versioni 2.0, 3.0 e 3.5 di .NET Framework usano tutte CLR versione 2.0. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse. An assembly or module was loaded twice with two different evidences. oppure -or- La codebase o il nome dell'assembly non è valido. The assembly name or code base is invalid.

Commenti

Usare CreateInstance quando un host deve eseguire il codice in un dominio dell'applicazione con autorizzazioni di sicurezza limitate.Use CreateInstance when a host needs to execute code in an application domain that has restricted security permissions.

Usare ObjectHandle.Unwrap per scartare il valore restituito.Use ObjectHandle.Unwrap to unwrap the return value.

Nota

Questo metodo Usa SecurityAction.LinkDemand per richiedere che il chiamante immediato disponga di attendibilità.This method uses SecurityAction.LinkDemand to require the immediate caller to have full trust.

Sicurezza

SecurityCriticalAttribute
richiede l'attendibilità totale per il chiamante immediato. requires full trust for the immediate caller. Questo membro non può essere utilizzato da codice parzialmente attendibile o trasparente. This member cannot be used by partially trusted or transparent code.

SecurityPermission
la possibilità di chiamare codice non gestito durante la creazione di un'istanza di un delegato. for the ability to call unmanaged code when creating an instance of a delegate. Enumerazione associata: UnmanagedCode Associated enumeration: UnmanagedCode

ReflectionPermission
la possibilità di richiamare le operazioni su tutti i membri di tipo. for the ability to invoke operations on all type members. Enumerazione associata: MemberAccess Associated enumeration: MemberAccess

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

Crea un'istanza del tipo il cui nome è specificato, usando l'assembly denominato e il costruttore più adatto ai parametri specificati. Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

public:
 static 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 static 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);
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> System.Runtime.Remoting.ObjectHandle

Parametri

assemblyName
String String String String

Nome dell'assembly nel quale viene ricercato il tipo denominato typeName. The name of the assembly where the type named typeName is sought. Se assemblyName è null, viene effettuata la ricerca nell'assembly in esecuzione. If assemblyName is null, the executing assembly is searched.

typeName
String String String String

Nome completo del tipo di oggetto preferito. The fully qualified name of the preferred type.

ignoreCase
Boolean Boolean Boolean 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. true to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

Combinazione di zero o più flag di bit che influiscono sulla ricerca del costruttore typeName. A combination of zero or more bit flags that affect the search for the typeName constructor. Se bindingAttr è uguale a zero, verrà eseguita una ricerca di costruttori pubblici con distinzione tra maiuscole e minuscole. If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

Oggetto che usa bindingAttr e args per cercare e identificare il costruttore typeName. An object that uses bindingAttr and args to seek and identify the typeName constructor. Se binder è null, verrà usato il binder predefinito. If binder is null, the default binder is used.

args
Object[]

Matrice di argomenti che corrisponde ai parametri del costruttore da chiamare in quanto a numero, ordine e tipo. An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Se args è una matrice vuota oppure è null, viene chiamato il costruttore che non accetta parametri, ovvero il costruttore predefinito. If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

Informazioni specifiche delle impostazioni cultura che regolano la coercizione di args ai tipi formali dichiarati per il costruttore typeName. Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. Se culture è null, per il thread corrente verrà usato l'oggetto CultureInfo. If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Matrice di uno o più attributi che possono prendere parte all'attivazione. An array of one or more attributes that can participate in activation. In genere, matrice che contiene un singolo oggetto UrlAttribute che specifica l'URL necessario per attivare un oggetto remoto. This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object. Il parametro è correlato agli oggetti attivati dal client. This parameter is related to client-activated objects. L'attivazione del client è una tecnologia legacy mantenuta per garantire la compatibilità con le versioni precedenti, ma non è consigliata per nuove attività di sviluppo. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Per le applicazioni distribuite si dovrebbe usare invece Windows Communication Foundation. Distributed applications should instead use Windows Communication Foundation.

Restituisce

Handle di cui deve essere annullato il wrapping per accedere all'istanza appena creata. A handle that must be unwrapped to access the newly created instance.

Eccezioni

Non è stato trovato alcun costruttore corrispondente. No matching constructor was found.

Non è possibile trovare typename in assemblyName. typename was not found in assemblyName.

Il parametro assemblyName non è stato trovato. assemblyName was not found.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore. The caller does not have permission to call this constructor.

Non è possibile creare un'istanza di una classe astratta o questo membro è stato richiamato con un meccanismo di associazione tardiva. Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Il costruttore, richiamato tramite reflection, ha generato un'eccezione. The constructor, which was invoked through reflection, threw an exception.

La creazione di tipi TypedReference, ArgIterator, Void e RuntimeArgumentHandle, o di matrici di questi tipi, non è supportata. Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported. oppure -or- activationAttributes non è una matrice vuota e il tipo creato non deriva da MarshalByRefObject. activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject. oppure -or- Il costruttore che corrisponde maggiormente a args ha argomenti varargs. The constructor that best matches args has varargs arguments.

assemblyName non è un assembly valido. assemblyName is not a valid assembly. oppure -or- 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. The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Si noti che le versioni 2.0, 3.0 e 3.5 di .NET Framework usano tutte CLR versione 2.0. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse. An assembly or module was loaded twice with two different evidences. oppure -or- La codebase o il nome dell'assembly non è valido. The assembly name or code base is invalid.

Commenti

Usare ObjectHandle.Unwrap per scartare il valore restituito.Use ObjectHandle.Unwrap to unwrap the return value.

Nota

Inizia con la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, questo metodo può essere utilizzato per creare tipi non pubblici e membri, 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 e i membri è limitato concedere impostato o a un suo sottoinsieme del chiamante.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller’s grant set or to a subset thereof. (Vedere considerazioni sulla sicurezza per Reflection.)(See Security Considerations for Reflection.)

Per usare questa funzionalità, l'applicazione deve essere destinata a .NET Framework 3.5.NET Framework 3.5 o versione successiva.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sicurezza

SecurityPermission
la possibilità di chiamare codice non gestito durante la creazione di un'istanza di un delegato. for the ability to call unmanaged code when creating an instance of a delegate. Enumerazione associata: UnmanagedCode Associated enumeration: UnmanagedCode

ReflectionPermission
per l'accesso a tipi non pubblici e i membri indipendentemente dal set di concessioni. for accessing nonpublic types and members regardless of their grant set. Enumerazione associata: MemberAccess Associated enumeration: MemberAccess

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[]) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])

Crea un'istanza del tipo specificato usando il costruttore più adatto ai parametri specificati. Creates an instance of the specified type using the constructor that best matches the specified parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture, cli::array <System::Object ^> ^ activationAttributes);
public static object CreateInstance (Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture, object[] activationAttributes);
static member CreateInstance : Type * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] -> obj

Parametri

type
Type Type Type Type

Tipo di oggetto da creare. The type of object to create.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

Combinazione di zero o più flag di bit che influiscono sulla ricerca del costruttore type. A combination of zero or more bit flags that affect the search for the type constructor. Se bindingAttr è uguale a zero, verrà eseguita una ricerca di costruttori pubblici con distinzione tra maiuscole e minuscole. If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

Oggetto che usa bindingAttr e args per cercare e identificare il costruttore type. An object that uses bindingAttr and args to seek and identify the type constructor. Se binder è null, verrà usato il binder predefinito. If binder is null, the default binder is used.

args
Object[]

Matrice di argomenti che corrisponde ai parametri del costruttore da chiamare in quanto a numero, ordine e tipo. An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Se args è una matrice vuota oppure è null, viene chiamato il costruttore che non accetta parametri, ovvero il costruttore predefinito. If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

Informazioni specifiche delle impostazioni cultura che regolano la coercizione di args ai tipi formali dichiarati per il costruttore type. Culture-specific information that governs the coercion of args to the formal types declared for the type constructor. Se culture è null, per il thread corrente verrà usato l'oggetto CultureInfo. If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Matrice di uno o più attributi che possono prendere parte all'attivazione. An array of one or more attributes that can participate in activation. In genere, matrice che contiene un singolo oggetto UrlAttribute che specifica l'URL necessario per attivare un oggetto remoto. This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object. Il parametro è correlato agli oggetti attivati dal client. This parameter is related to client-activated objects. L'attivazione del client è una tecnologia legacy mantenuta per garantire la compatibilità con le versioni precedenti, ma non è consigliata per nuove attività di sviluppo. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Per le applicazioni distribuite si dovrebbe usare invece Windows Communication Foundation. Distributed applications should instead use Windows Communication Foundation.

Restituisce

Riferimento all'oggetto di recente creazione. A reference to the newly created object.

Eccezioni

type non è un oggetto RuntimeType. type is not a RuntimeType. oppure -or- type è un tipo generico aperto (ovvero, la proprietà ContainsGenericParameters restituisce true). type is an open generic type (that is, the ContainsGenericParameters property returns true).

type non può essere un TypeBuilder. type cannot be a TypeBuilder. oppure -or- La creazione di tipi TypedReference, ArgIterator, Void e RuntimeArgumentHandle, o di matrici di questi tipi, non è supportata. Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported. oppure -or- activationAttributes non è una matrice vuota e il tipo creato non deriva da MarshalByRefObject. activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject. oppure -or- L'assembly che contiene type è un assembly dinamico creato con Save. The assembly that contains type is a dynamic assembly that was created with Save. oppure -or- Il costruttore che corrisponde maggiormente a args ha argomenti varargs. The constructor that best matches args has varargs arguments.

Il costruttore chiamato genera un'eccezione. The constructor being called throws an exception.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore. The caller does not have permission to call this constructor.

Non è possibile creare un'istanza di una classe astratta o questo membro è stato richiamato con un meccanismo di associazione tardiva. Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Non è stato trovato alcun costruttore corrispondente. No matching constructor was found.

type è un oggetto COM ma l'identificatore di classe usato per ottenere il tipo non è valido oppure la classe identificata non è registrata. type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type non è un tipo valido. type is not a valid type.

Commenti

Il costruttore da richiamare deve fornire massima corrispondenza con l'elenco di argomenti specificato in base ai vincoli del binder specificato e attributi di associazione.The constructor to be invoked must provide the most specific match with the specified argument list under the constraints of the specified binder and binding attributes.

Nota

Inizia con la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, questo metodo può essere utilizzato per accedere a tipi non pubblici e membri se il chiamante è stato concesso ReflectionPermission con il ReflectionPermissionFlag.RestrictedMemberAccess flag e se il set di concessioni di tipi non pubblici e membri è limitato al chiamante set di autorizzazioni o a un sottoinsieme di questa.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the nonpublic types and members is restricted to the caller’s grant set or to a subset thereof. (Vedere considerazioni sulla sicurezza per Reflection.)(See Security Considerations for Reflection.)

Per usare questa funzionalità, l'applicazione deve essere destinata a .NET Framework 3.5.NET Framework 3.5 o versione successiva.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sicurezza

SecurityPermission
per fornire l'evidenza. for supplying evidence. Enumerazione associata: ControlEvidence Associated enumeration: ControlEvidence

ReflectionPermission
per l'accesso a tipi non pubblici e i membri indipendentemente dal set di concessioni. for accessing nonpublic types and members regardless of their grant set. Enumerazione associata: MemberAccess Associated enumeration: MemberAccess

CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo) CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo)

Crea un'istanza del tipo specificato usando il costruttore più adatto ai parametri specificati. Creates an instance of the specified type using the constructor that best matches the specified parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ args, System::Globalization::CultureInfo ^ culture);
public static object CreateInstance (Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, object[] args, System.Globalization.CultureInfo culture);
static member CreateInstance : Type * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj

Parametri

type
Type Type Type Type

Tipo di oggetto da creare. The type of object to create.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

Combinazione di zero o più flag di bit che influiscono sulla ricerca del costruttore type. A combination of zero or more bit flags that affect the search for the type constructor. Se bindingAttr è uguale a zero, verrà eseguita una ricerca di costruttori pubblici con distinzione tra maiuscole e minuscole. If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

Oggetto che usa bindingAttr e args per cercare e identificare il costruttore type. An object that uses bindingAttr and args to seek and identify the type constructor. Se binder è null, verrà usato il binder predefinito. If binder is null, the default binder is used.

args
Object[]

Matrice di argomenti che corrisponde ai parametri del costruttore da chiamare in quanto a numero, ordine e tipo. An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Se args è una matrice vuota oppure è null, viene chiamato il costruttore che non accetta parametri, ovvero il costruttore predefinito. If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

Informazioni specifiche delle impostazioni cultura che regolano la coercizione di args ai tipi formali dichiarati per il costruttore type. Culture-specific information that governs the coercion of args to the formal types declared for the type constructor. Se culture è null, per il thread corrente verrà usato l'oggetto CultureInfo. If culture is null, the CultureInfo for the current thread is used.

Restituisce

Riferimento all'oggetto di recente creazione. A reference to the newly created object.

Eccezioni

type non è un oggetto RuntimeType. type is not a RuntimeType. oppure -or- type è un tipo generico aperto (ovvero, la proprietà ContainsGenericParameters restituisce true). type is an open generic type (that is, the ContainsGenericParameters property returns true).

type non può essere un TypeBuilder. type cannot be a TypeBuilder. oppure -or- La creazione di tipi TypedReference, ArgIterator, Void e RuntimeArgumentHandle, o di matrici di questi tipi, non è supportata. Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported. oppure -or- L'assembly che contiene type è un assembly dinamico creato con Save. The assembly that contains type is a dynamic assembly that was created with Save. oppure -or- Il costruttore che corrisponde maggiormente a args ha argomenti varargs. The constructor that best matches args has varargs arguments.

Il costruttore chiamato genera un'eccezione. The constructor being called throws an exception.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore. The caller does not have permission to call this constructor.

Non è possibile creare un'istanza di una classe astratta o questo membro è stato richiamato con un meccanismo di associazione tardiva. Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Non è stato trovato alcun costruttore corrispondente. No matching constructor was found.

type è un oggetto COM ma l'identificatore di classe usato per ottenere il tipo non è valido oppure la classe identificata non è registrata. type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type non è un tipo valido. type is not a valid type.

Commenti

Il costruttore da richiamare deve fornire massima corrispondenza con l'elenco di argomenti specificato in base ai vincoli del binder specificato e attributi di associazione.The constructor to be invoked must provide the most specific match with the specified argument list under the constraints of the specified binder and binding attributes.

Nota

Inizia con la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, questo metodo può essere utilizzato per accedere a tipi non pubblici e membri 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 e i membri è limitato concedere impostato o a un suo sottoinsieme del chiamante.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller’s grant set or to a subset thereof. (Vedere considerazioni sulla sicurezza per Reflection.)(See Security Considerations for Reflection.)

Per usare questa funzionalità, l'applicazione deve essere destinata a .NET Framework 3.5.NET Framework 3.5 o versione successiva.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sicurezza

SecurityPermission
la possibilità di chiamare codice non gestito durante la creazione di un'istanza di un delegato. for the ability to call unmanaged code when creating an instance of a delegate. Enumerazione associata: UnmanagedCode Associated enumeration: UnmanagedCode

ReflectionPermission
per l'accesso a tipi non pubblici e i membri indipendentemente dal set di concessioni. for accessing nonpublic types and members regardless of their grant set. Enumerazione associata: MemberAccess Associated enumeration: MemberAccess

CreateInstance(Type, Object[], Object[]) CreateInstance(Type, Object[], Object[]) CreateInstance(Type, Object[], Object[])

Crea un'istanza del tipo specificato usando il costruttore più adatto ai parametri specificati. Creates an instance of the specified type using the constructor that best matches the specified parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, cli::array <System::Object ^> ^ args, cli::array <System::Object ^> ^ activationAttributes);
public static object CreateInstance (Type type, object[] args, object[] activationAttributes);
static member CreateInstance : Type * obj[] * obj[] -> obj

Parametri

type
Type Type Type Type

Tipo di oggetto da creare. The type of object to create.

args
Object[]

Matrice di argomenti che corrisponde ai parametri del costruttore da chiamare in quanto a numero, ordine e tipo. An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Se args è una matrice vuota oppure è null, viene chiamato il costruttore che non accetta parametri, ovvero il costruttore predefinito. If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

activationAttributes
Object[]

Matrice di uno o più attributi che possono prendere parte all'attivazione. An array of one or more attributes that can participate in activation. In genere, matrice che contiene un singolo oggetto UrlAttribute che specifica l'URL necessario per attivare un oggetto remoto. This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object. Il parametro è correlato agli oggetti attivati dal client. This parameter is related to client-activated objects. L'attivazione del client è una tecnologia legacy mantenuta per garantire la compatibilità con le versioni precedenti, ma non è consigliata per nuove attività di sviluppo. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Per le applicazioni distribuite si dovrebbe usare invece Windows Communication Foundation. Distributed applications should instead use Windows Communication Foundation.

Restituisce

Riferimento all'oggetto di recente creazione. A reference to the newly created object.

Eccezioni

type non è un oggetto RuntimeType. type is not a RuntimeType. oppure -or- type è un tipo generico aperto (ovvero, la proprietà ContainsGenericParameters restituisce true). type is an open generic type (that is, the ContainsGenericParameters property returns true).

type non può essere un TypeBuilder. type cannot be a TypeBuilder. oppure -or- La creazione di tipi TypedReference, ArgIterator, Void e RuntimeArgumentHandle, o di matrici di questi tipi, non è supportata. Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported. oppure -or- activationAttributes non è una matrice vuota e il tipo creato non deriva da MarshalByRefObject. activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject. oppure -or- L'assembly che contiene type è un assembly dinamico creato con Save. The assembly that contains type is a dynamic assembly that was created with Save. oppure -or- Il costruttore che corrisponde maggiormente a args ha argomenti varargs. The constructor that best matches args has varargs arguments.

Il costruttore chiamato genera un'eccezione. The constructor being called throws an exception.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore. The caller does not have permission to call this constructor.

Non è possibile creare un'istanza di una classe astratta o questo membro è stato richiamato con un meccanismo di associazione tardiva. Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Non è stato trovato alcun costruttore pubblico corrispondente. No matching public constructor was found.

type è un oggetto COM ma l'identificatore di classe usato per ottenere il tipo non è valido oppure la classe identificata non è registrata. type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type non è un tipo valido. type is not a valid type.

Commenti

Il costruttore da richiamare deve essere accessibile e deve fornire massima corrispondenza con l'elenco di argomenti specificato.The constructor to be invoked must be accessible and must provide the most specific match with the specified argument list.

Nota

Inizia con la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, questo metodo può essere utilizzato per accedere a 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 alla concessione del chiamante impostare o da un suo sottoinsieme.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller’s grant set or to a subset thereof. (Vedere considerazioni sulla sicurezza per Reflection.)(See Security Considerations for Reflection.)

Per usare questa funzionalità, l'applicazione deve essere destinata a .NET Framework 3.5.NET Framework 3.5 o versione successiva.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sicurezza

SecurityPermission
la possibilità di chiamare codice non gestito durante la creazione di un'istanza di un delegato. for the ability to call unmanaged code when creating an instance of a delegate. Enumerazione associata: UnmanagedCode Associated enumeration: UnmanagedCode

ReflectionPermission
per l'accesso a tipi non pubblici indipendentemente dal set di concessioni. for accessing nonpublic types regardless of their grant set. Enumerazione associata: MemberAccess Associated enumeration: MemberAccess

CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[]) CreateInstance(String, String, Object[])

Crea un'istanza del tipo il cui nome è specificato, usando l'assembly denominato e il costruttore predefinito. Creates an instance of the type whose name is specified, using the named assembly and default constructor.

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

Parametri

assemblyName
String String String String

Nome dell'assembly nel quale viene ricercato il tipo denominato typeName. The name of the assembly where the type named typeName is sought. Se assemblyName è null, viene effettuata la ricerca nell'assembly in esecuzione. If assemblyName is null, the executing assembly is searched.

typeName
String String String String

Nome completo del tipo di oggetto preferito. The fully qualified name of the preferred type.

activationAttributes
Object[]

Matrice di uno o più attributi che possono prendere parte all'attivazione. An array of one or more attributes that can participate in activation. In genere, matrice che contiene un singolo oggetto UrlAttribute che specifica l'URL necessario per attivare un oggetto remoto. This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object. Il parametro è correlato agli oggetti attivati dal client. This parameter is related to client-activated objects. L'attivazione del client è una tecnologia legacy mantenuta per garantire la compatibilità con le versioni precedenti, ma non è consigliata per nuove attività di sviluppo. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Per le applicazioni distribuite si dovrebbe usare invece Windows Communication Foundation. Distributed applications should instead use Windows Communication Foundation.

Restituisce

Handle di cui deve essere annullato il wrapping per accedere all'istanza appena creata. A handle that must be unwrapped to access the newly created instance.

Eccezioni

Non è stato trovato alcun costruttore pubblico corrispondente. No matching public constructor was found.

Non è possibile trovare typename in assemblyName. typename was not found in assemblyName.

Il parametro assemblyName non è stato trovato. assemblyName was not found.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore. The caller does not have permission to call this constructor.

Non è possibile creare un'istanza di una classe astratta o questo membro è stato richiamato con un meccanismo di associazione tardiva. Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

La creazione di tipi TypedReference, ArgIterator, Void e RuntimeArgumentHandle, o di matrici di questi tipi, non è supportata. Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported. oppure -or- activationAttributes non è una matrice vuota e il tipo creato non deriva da MarshalByRefObject. activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject. oppure -or- activationAttributes non è un oggetto UrlAttribute. activationAttributes is not a UrlAttribute matrice. array.

assemblyName non è un assembly valido. assemblyName is not a valid assembly. oppure -or- 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. The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Si noti che le versioni 2.0, 3.0 e 3.5 di .NET Framework usano tutte CLR versione 2.0. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse. An assembly or module was loaded twice with two different evidences. oppure -or- La codebase o il nome dell'assembly non è valido. The assembly name or code base is invalid.

Si è verificato un errore durante il tentativo di attivazione remota in una destinazione specificata in activationAttributes. An error occurred when attempting remote activation in a target specified in activationAttributes.

Commenti

Usare ObjectHandle.Unwrap per scartare il valore restituito.Use ObjectHandle.Unwrap to unwrap the return value.

Nota

Inizia con la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, 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 di tipi non pubblici è limitato al set di concessioni del chiamante oppure a un suo sottoinsieme.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the nonpublic types is restricted to the caller’s grant set or to a subset thereof. (Vedere considerazioni sulla sicurezza per Reflection.)(See Security Considerations for Reflection.)

Per usare questa funzionalità, l'applicazione deve essere destinata a .NET Framework 3.5.NET Framework 3.5 o versione successiva.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sicurezza

SecurityPermission
la possibilità di chiamare codice non gestito durante la creazione di un'istanza di un delegato. for the ability to call unmanaged code when creating an instance of a delegate. Enumerazione associata: UnmanagedCode Associated enumeration: UnmanagedCode

ReflectionPermission
per l'accesso a tipi non pubblici indipendentemente dal set di concessioni. for accessing nonpublic types regardless of their grant set. Enumerazione associata: MemberAccess Associated enumeration: MemberAccess

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

Avviso

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. Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

public:
 static 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 ^ securityInfo);
[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 static 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 securityInfo);
static member CreateInstance : string * string * bool * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo * obj[] * System.Security.Policy.Evidence -> System.Runtime.Remoting.ObjectHandle

Parametri

assemblyName
String String String String

Nome dell'assembly nel quale viene ricercato il tipo denominato typeName. The name of the assembly where the type named typeName is sought. Se assemblyName è null, viene effettuata la ricerca nell'assembly in esecuzione. If assemblyName is null, the executing assembly is searched.

typeName
String String String String

Nome completo del tipo di oggetto preferito. The fully qualified name of the preferred type.

ignoreCase
Boolean Boolean Boolean 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. true to specify that the search for typeName is not case-sensitive; false to specify that the search is case-sensitive.

bindingAttr
BindingFlags BindingFlags BindingFlags BindingFlags

Combinazione di zero o più flag di bit che influiscono sulla ricerca del costruttore typeName. A combination of zero or more bit flags that affect the search for the typeName constructor. Se bindingAttr è uguale a zero, verrà eseguita una ricerca di costruttori pubblici con distinzione tra maiuscole e minuscole. If bindingAttr is zero, a case-sensitive search for public constructors is conducted.

binder
Binder Binder Binder Binder

Oggetto che usa bindingAttr e args per cercare e identificare il costruttore typeName. An object that uses bindingAttr and args to seek and identify the typeName constructor. Se binder è null, verrà usato il binder predefinito. If binder is null, the default binder is used.

args
Object[]

Matrice di argomenti che corrisponde ai parametri del costruttore da chiamare in quanto a numero, ordine e tipo. An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Se args è una matrice vuota oppure è null, viene chiamato il costruttore che non accetta parametri, ovvero il costruttore predefinito. If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

Informazioni specifiche delle impostazioni cultura che regolano la coercizione di args ai tipi formali dichiarati per il costruttore typeName. Culture-specific information that governs the coercion of args to the formal types declared for the typeName constructor. Se culture è null, per il thread corrente verrà usato l'oggetto CultureInfo. If culture is null, the CultureInfo for the current thread is used.

activationAttributes
Object[]

Matrice di uno o più attributi che possono prendere parte all'attivazione. An array of one or more attributes that can participate in activation. In genere, matrice che contiene un singolo oggetto UrlAttribute che specifica l'URL necessario per attivare un oggetto remoto. This is typically an array that contains a single UrlAttribute object that specifies the URL that is required to activate a remote object. Il parametro è correlato agli oggetti attivati dal client. This parameter is related to client-activated objects. L'attivazione del client è una tecnologia legacy mantenuta per garantire la compatibilità con le versioni precedenti, ma non è consigliata per nuove attività di sviluppo. Client activation is a legacy technology that is retained for backward compatibility but is not recommended for new development. Per le applicazioni distribuite si dovrebbe usare invece Windows Communication Foundation. Distributed applications should instead use Windows Communication Foundation.

securityInfo
Evidence Evidence Evidence Evidence

Informazioni usate per prendere decisioni relative ai criteri di sicurezza e per concedere autorizzazioni di codice. Information used to make security policy decisions and grant code permissions.

Restituisce

Handle di cui deve essere annullato il wrapping per accedere all'istanza appena creata. A handle that must be unwrapped to access the newly created instance.

Eccezioni

Non è stato trovato alcun costruttore corrispondente. No matching constructor was found.

Non è possibile trovare typename in assemblyName. typename was not found in assemblyName.

Il parametro assemblyName non è stato trovato. assemblyName was not found.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore. The caller does not have permission to call this constructor.

Non è possibile creare un'istanza di una classe astratta o questo membro è stato richiamato con un meccanismo di associazione tardiva. Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Il costruttore, richiamato tramite reflection, ha generato un'eccezione. The constructor, which was invoked through reflection, threw an exception.

La creazione di tipi TypedReference, ArgIterator, Void e RuntimeArgumentHandle, o di matrici di questi tipi, non è supportata. Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported. oppure -or- activationAttributes non è una matrice vuota e il tipo creato non deriva da MarshalByRefObject. activationAttributes is not an empty array, and the type being created does not derive from MarshalByRefObject. oppure -or- Il costruttore che corrisponde maggiormente a args ha argomenti varargs. The constructor that best matches args has varargs arguments.

assemblyName non è un assembly valido. assemblyName is not a valid assembly. oppure -or- 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. The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Si noti che le versioni 2.0, 3.0 e 3.5 di .NET Framework usano tutte CLR versione 2.0. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse. An assembly or module was loaded twice with two different evidences. oppure -or- La codebase o il nome dell'assembly non è valido. The assembly name or code base is invalid.

Commenti

Usare ObjectHandle.Unwrap per scartare il valore restituito.Use ObjectHandle.Unwrap to unwrap the return value.

Nota

Inizia con la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, questo metodo può essere utilizzato per creare tipi non pubblici e membri, 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 e i membri è limitato concedere impostato o a un suo sottoinsieme del chiamante.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller’s grant set or to a subset thereof. (Vedere considerazioni sulla sicurezza per Reflection.)(See Security Considerations for Reflection.)

Per usare questa funzionalità, l'applicazione deve essere destinata a .NET Framework 3.5.NET Framework 3.5 o versione successiva.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sicurezza

SecurityPermission
la possibilità di chiamare codice non gestito durante la creazione di un'istanza di un delegato. for the ability to call unmanaged code when creating an instance of a delegate. Enumerazione associata: UnmanagedCode Associated enumeration: UnmanagedCode

ReflectionPermission
per l'accesso a tipi non pubblici e i membri indipendentemente dal set di concessioni. for accessing nonpublic types and members regardless of their grant set. Enumerazione associata: MemberAccess Associated enumeration: MemberAccess

CreateInstance(Type, Object[]) CreateInstance(Type, Object[]) CreateInstance(Type, Object[])

Crea un'istanza del tipo specificato usando il costruttore più adatto ai parametri specificati. Creates an instance of the specified type using the constructor that best matches the specified parameters.

public:
 static System::Object ^ CreateInstance(Type ^ type, ... cli::array <System::Object ^> ^ args);
public static object CreateInstance (Type type, params object[] args);
static member CreateInstance : Type * obj[] -> obj

Parametri

type
Type Type Type Type

Tipo di oggetto da creare. The type of object to create.

args
Object[]

Matrice di argomenti che corrisponde ai parametri del costruttore da chiamare in quanto a numero, ordine e tipo. An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Se args è una matrice vuota oppure è null, viene chiamato il costruttore che non accetta parametri, ovvero il costruttore predefinito. If args is an empty array or null, the constructor that takes no parameters (the default constructor) is invoked.

Restituisce

Riferimento all'oggetto di recente creazione. A reference to the newly created object.

Eccezioni

type non è un oggetto RuntimeType. type is not a RuntimeType. oppure -or- type è un tipo generico aperto (ovvero, la proprietà ContainsGenericParameters restituisce true). type is an open generic type (that is, the ContainsGenericParameters property returns true).

type non può essere un TypeBuilder. type cannot be a TypeBuilder. oppure -or- La creazione di tipi TypedReference, ArgIterator, Void e RuntimeArgumentHandle, o di matrici di questi tipi, non è supportata. Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported. oppure -or- L'assembly che contiene type è un assembly dinamico creato con Save. The assembly that contains type is a dynamic assembly that was created with Save. oppure -or- Il costruttore che corrisponde maggiormente a args ha argomenti varargs. The constructor that best matches args has varargs arguments.

Il costruttore chiamato genera un'eccezione. The constructor being called throws an exception.

In .NET per app di Windows Store o nella libreria di classi portabile rilevare invece l'eccezione della classe di base, MemberAccessException. In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MemberAccessException, instead.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore. The caller does not have permission to call this constructor.

Non è possibile creare un'istanza di una classe astratta o questo membro è stato richiamato con un meccanismo di associazione tardiva. Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

In .NET per app di Windows Store o nella libreria di classi portabile rilevare invece l'eccezione della classe di base, MissingMemberException. In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MissingMemberException, instead.

Non è stato trovato alcun costruttore pubblico corrispondente. No matching public constructor was found.

type è un oggetto COM ma l'identificatore di classe usato per ottenere il tipo non è valido oppure la classe identificata non è registrata. type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type non è un tipo valido. type is not a valid type.

Esempi

L'esempio seguente chiama il CreateInstance(Type, Object[]) metodo per creare un String oggetto.The following example calls the CreateInstance(Type, Object[]) method to create a String object. Chiama il String.String(Char[], Int32, Int32) costruttore per creare un'istanza di una stringa che contiene dieci elementi da una matrice di caratteri a partire dalla posizione quattordicesimo.It calls the String.String(Char[], Int32, Int32) constructor to instantiate a string that contains ten elements from a character array starting at the fourteenth position.

using System;

public class Example
{
   public static void Main()
   {
      // Initialize array of characters from a to z.
      Char[] chars = new Char[26]; 
      for (int ctr = 0; ctr < 26; ctr++)
         chars[ctr] = (char) (ctr + 0x0061);

      Object obj = Activator.CreateInstance(typeof(String),
                                            new Object[] { chars, 13, 10 } );
      Console.WriteLine(obj);                                          
   }
}
// The example displays the following output:
//       nopqrstuvw
Module Example
   Public Sub Main()
      ' Initialize array of characters from a to z.
      Dim chars(25) As Char 
      For ctr As Short = 0 To 25
         chars(ctr) = ChrW(ctr + &h0061)
      Next 
      Dim obj As Object = Activator.CreateInstance(GetType(String),
                                                   { chars, 13, 10 })
      Console.WriteLine(obj)                                          
   End Sub
End Module
' The example displays the following output:
'       nopqrstuvw

L'esempio seguente crea una matrice di matrici cui elementi sono gli argomenti da passare a un String costruttore.The following example creates a jagged array whose elements are arguments to be passed to a String constructor. Viene quindi passato a ogni matrice di CreateInstance(Type, Object[]) metodo per richiamare il costruttore di stringa appropriata.The example then passes each array to the CreateInstance(Type, Object[]) method to invoke the appropriate string constructor.

using System;

public class Example
{
   public static void Main()
   {
      char[] characters = { 'a', 'b', 'c', 'd', 'e', 'f' };
      object[][] arguments = new object[3][] { new object[] { characters },
                                               new object[] { characters, 1, 4 },
                                               new object[] { characters[1], 20 } };

      for (int ctr = 0; ctr <= arguments.GetUpperBound(0); ctr++) {
         object[] args = arguments[ctr];
         object result = Activator.CreateInstance(typeof(String), args);
         Console.WriteLine("{0}: {1}", result.GetType().Name, result);
      }
   }
}
// The example displays the following output:
//    String: abcdef
//    String: bcde
//    String: bbbbbbbbbbbbbbbbbbbb
Module Example
   Public Sub Main()
      Dim characters() As Char = { "a"c, "b"c, "c"c, "d"c, "e"c, "f"c }
      Dim arguments()() As Object = new Object(2)() { New Object() { characters },
                                                      New Object() { characters, 1, 4 },
                                                      New Object() { characters(1), 20 } }

      For ctr As Integer = 0 To arguments.GetUpperBound(0)
         Dim args() As Object = arguments(ctr)
         Dim result As Object = Activator.CreateInstance(GetType(String), args)
         Console.WriteLine("{0}: {1}", result.GetType().Name, result)
      Next
   End Sub
End Module
' The example displays the following output:
'       String: abcdef
'       String: bcde
'       String: bbbbbbbbbbbbbbbbbbbb

Commenti

Il costruttore da richiamare deve essere accessibile e deve fornire massima corrispondenza con l'elenco di argomenti specificato.The constructor to be invoked must be accessible and must provide the most specific match with the specified argument list.

Nota

Inizia con la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, questo metodo può essere utilizzato per accedere a 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 alla concessione del chiamante impostare o da un suo sottoinsieme.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller’s grant set or to a subset thereof. (Vedere considerazioni sulla sicurezza per Reflection.)(See Security Considerations for Reflection.)

Per usare questa funzionalità, l'applicazione deve essere destinata a .NET Framework 3.5.NET Framework 3.5 o versione successiva.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sicurezza

SecurityPermission
la possibilità di chiamare codice non gestito durante la creazione di un'istanza di un delegato. for the ability to call unmanaged code when creating an instance of a delegate. Enumerazione associata: UnmanagedCode Associated enumeration: UnmanagedCode

ReflectionPermission
per l'accesso a tipi non pubblici indipendentemente dal set di concessioni. for accessing nonpublic types regardless of their grant set. Enumerazione associata: MemberAccess Associated enumeration: MemberAccess

CreateInstance(Type, Boolean) CreateInstance(Type, Boolean) CreateInstance(Type, Boolean)

Crea un'istanza del tipo specificato usando il costruttore predefinito di tale tipo. Creates an instance of the specified type using that type's default constructor.

public:
 static System::Object ^ CreateInstance(Type ^ type, bool nonPublic);
public static object CreateInstance (Type type, bool nonPublic);
static member CreateInstance : Type * bool -> obj

Parametri

type
Type Type Type Type

Tipo di oggetto da creare. The type of object to create.

nonPublic
Boolean Boolean Boolean Boolean

true se può corrispondere un costruttore predefinito pubblico o non pubblico, false se può corrispondere solo un costruttore predefinito pubblico. true if a public or nonpublic default constructor can match; false if only a public default constructor can match.

Restituisce

Riferimento all'oggetto di recente creazione. A reference to the newly created object.

Eccezioni

type non è un oggetto RuntimeType. type is not a RuntimeType. oppure -or- type è un tipo generico aperto (ovvero, la proprietà ContainsGenericParameters restituisce true). type is an open generic type (that is, the ContainsGenericParameters property returns true).

type non può essere un TypeBuilder. type cannot be a TypeBuilder. oppure -or- La creazione di tipi TypedReference, ArgIterator, Void e RuntimeArgumentHandle, o di matrici di questi tipi, non è supportata. Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported. oppure -or- L'assembly che contiene type è un assembly dinamico creato con Save. The assembly that contains type is a dynamic assembly that was created with Save.

Il costruttore chiamato genera un'eccezione. The constructor being called throws an exception.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore. The caller does not have permission to call this constructor.

Non è possibile creare un'istanza di una classe astratta o questo membro è stato richiamato con un meccanismo di associazione tardiva. Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Non è stato trovato alcun costruttore pubblico corrispondente. No matching public constructor was found.

type è un oggetto COM ma l'identificatore di classe usato per ottenere il tipo non è valido oppure la classe identificata non è registrata. type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type non è un tipo valido. type is not a valid type.

Commenti

Nota

Inizia con la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, questo metodo può essere utilizzato per accedere a tipi non pubblici e membri 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 e i membri è limitato concedere impostato o a un suo sottoinsieme del chiamante.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types and members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller’s grant set or to a subset thereof. (Vedere considerazioni sulla sicurezza per Reflection.)(See Security Considerations for Reflection.)

Per usare questa funzionalità, l'applicazione deve essere destinata a .NET Framework 3.5.NET Framework 3.5 o versione successiva.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sicurezza

SecurityPermission
la possibilità di chiamare codice non gestito durante la creazione di un'istanza di un delegato. for the ability to call unmanaged code when creating an instance of a delegate. Enumerazione associata: UnmanagedCode Associated enumeration: UnmanagedCode

ReflectionPermission
per l'accesso a tipi non pubblici e i membri indipendentemente dal set di concessioni. for accessing nonpublic types and members regardless of their grant set. Enumerazione associata: MemberAccess Associated enumeration: MemberAccess

CreateInstance(String, String) CreateInstance(String, String) CreateInstance(String, String) CreateInstance(String, String)

Crea un'istanza del tipo il cui nome è specificato, usando l'assembly denominato e il costruttore predefinito. Creates an instance of the type whose name is specified, using the named assembly and default constructor.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(System::String ^ assemblyName, System::String ^ typeName);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName);
static member CreateInstance : string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (assemblyName As String, typeName As String) As ObjectHandle

Parametri

assemblyName
String String String String

Nome dell'assembly nel quale viene ricercato il tipo denominato typeName. The name of the assembly where the type named typeName is sought. Se assemblyName è null, viene effettuata la ricerca nell'assembly in esecuzione. If assemblyName is null, the executing assembly is searched.

typeName
String String String String

Nome completo del tipo di oggetto preferito. The fully qualified name of the preferred type.

Restituisce

Handle di cui deve essere annullato il wrapping per accedere all'istanza appena creata. A handle that must be unwrapped to access the newly created instance.

Eccezioni

Non è stato trovato alcun costruttore pubblico corrispondente. No matching public constructor was found.

Non è possibile trovare typename in assemblyName. typename was not found in assemblyName.

Il parametro assemblyName non è stato trovato. assemblyName was not found.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore. The caller does not have permission to call this constructor.

Non è possibile creare un'istanza di una classe astratta o questo membro è stato richiamato con un meccanismo di associazione tardiva. You cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

Il costruttore, richiamato tramite reflection, ha generato un'eccezione. The constructor, which was invoked through reflection, threw an exception.

La creazione di tipi TypedReference, ArgIterator, Void e RuntimeArgumentHandle, o di matrici di questi tipi, non è supportata. Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

assemblyName non è un assembly valido. assemblyName is not a valid assembly. oppure -or- 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. The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Si noti che le versioni 2.0, 3.0 e 3.5 di .NET Framework usano tutte CLR versione 2.0. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse. An assembly or module was loaded twice with two different evidences. oppure -or- La codebase o il nome dell'assembly non è valido. The assembly name or code base is invalid.

Esempi

Nell'esempio seguente viene definita una classe denominata Person in un assembly denominato PersonInfo.The following example defines a class named Person in an assembly named PersonInfo. Si noti che la classe Person dispone di due costruttori, uno dei quali è senza parametri.Note that the Person class has two constructors, one of which is parameterless.

using System;

public class Person
{
   private string _name;
   
   public Person()
   { }
   
   public Person(string name)
   {
      this._name = name;
   }
   
   public string Name
   { get { return this._name; }
     set { this._name = value; } }
   
   public override string ToString()
   {
      return this._name;
   }
}
Public Class Person
   Private _name As String
   
   Public Sub New()
   End Sub
   
   Public Sub New(name As String)
      Me._name = name
   End Sub
   
   Public Property Name As String
      Get
         Return Me._name
      End Get
      Set
         Me._name = value
      End Set
   End Property
   
   Public Overrides Function ToString() As String
      Return Me._name
   End Function
End Class

Nell'esempio seguente viene chiamato il metodo CreateInstance(String, String) per creare un'istanza della classe Person.The following example calls the CreateInstance(String, String) method to instantiate the Person class. Richiede che venga aggiunto un riferimento a PersonInfo.dll al progetto.It requires a reference to PersonInfo.dll to be added to the project. Poiché il metodo CreateInstance(String, String) chiama il costruttore predefinito della classe Person, nell'esempio viene assegnato un valore alla relativa proprietà Name.Because the CreateInstance(String, String) method calls the Person class default constructor, the example assigns a value to its Name property.

using System;
using System.Runtime.Remoting;

public class Example
{
   public static void Main()
   {
      ObjectHandle handle = Activator.CreateInstance("PersonInfo", "Person");
      Person p = (Person) handle.Unwrap();
      p.Name = "Samuel";
      Console.WriteLine(p);
   }
}
// The example displays the following output:
//        Samuel
Imports System.Runtime.Remoting

Module Example
   Public Sub Main()
      Dim handle As ObjectHandle = Activator.CreateInstance("PersonInfo", "Person")
      Dim p As Person = CType(handle.Unwrap(), Person)
      p.Name = "Samuel"
      Console.WriteLine(p)
   End Sub
End Module
' The example displays the following output:
'       Samuel

Tuttavia, CreateInstance viene spesso chiamato per creare un'istanza di un tipo che supera i limiti del computer o che non è noto in fase di progettazione.However, CreateInstance is frequently called to instantiate a type that crosses machine boundaries or that is not known at design time. In questo caso, non è possibile includere un riferimento all'assembly nel progetto e non è possibile eseguire chiamate con associazione anticipata ai membri del tipo.In this case, you cannot include a reference to the assembly in the project and cannot make early-bound calls to the type's members. Per ovviare a questa limitazione, nell'esempio seguente viene utilizzato il metodo CreateInstance insieme alla reflection per assegnare un valore alla proprietà Person dell'oggetto Name e per visualizzarne il valore.To work around this limitation, the following example uses the CreateInstance method along with reflection to assign a value to the Person object's Name property and to display its value.

using System;
using System.Reflection;
using System.Runtime.Remoting;

public class Example
{
   public static void Main()
   {
      ObjectHandle handle = Activator.CreateInstance("PersonInfo", "Person");
      Object p = handle.Unwrap();
      Type t = p.GetType();
      PropertyInfo prop = t.GetProperty("Name");
      if (prop != null)
         prop.SetValue(p, "Samuel");

      MethodInfo method = t.GetMethod("ToString");
      Object retVal = method.Invoke(p, null); 
      if (retVal != null)
         Console.WriteLine(retVal);
   }
}
// The example displays the following output:
//        Samuel
Imports System.Reflection
Imports System.Runtime.Remoting

Module Example
   Public Sub Main()
      Dim handle As ObjectHandle = Activator.CreateInstance("PersonInfo", "Person")
      Dim p As Object = handle.Unwrap()
      Dim t As Type = p.GetType()
      Dim prop As PropertyInfo = t.GetProperty("Name")
      if Not prop Is Nothing Then
         prop.SetValue(p, "Samuel")
      End If   
      Dim method As MethodInfo = t.GetMethod("ToString")
      Dim retVal As Object = method.Invoke(p, Nothing) 
      If Not retVal Is Nothing Then
         Console.WriteLine(retVal)
      End If
   End Sub
End Module
' The example displays the following output:
'       Samuel

Commenti

Usare ObjectHandle.Unwrap per scartare il valore restituito.Use ObjectHandle.Unwrap to unwrap the return value.

assemblyName può corrispondere a uno dei seguenti nomi:assemblyName can be either of the following:

  • Il nome semplice di un assembly, senza il relativo percorso o estensione del file.The simple name of an assembly, without its path or file extension. Ad esempio, si specificherà TypeExtensions per un assembly il cui percorso e nome sono .\bin\TypeExtensions.dll.For example, you would specify TypeExtensions for an assembly whose path and name are .\bin\TypeExtensions.dll.

  • Nome completo di un assembly firmato costituito dal nome semplice, dalla versione, dalle impostazioni cultura e dal token di chiave pubblica; ad esempio, "TypeExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=181869f2f7435b51".The full name of a signed assembly, which consists of its simple name, version, culture, and public key token; for example, "TypeExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=181869f2f7435b51".

Per altre informazioni su come common language runtime identifica e carica gli assembly, vedere modo in cui il Runtime individua gli assembly.For more information on how the common language runtime identifies and loads assemblies, see How the Runtime Locates Assemblies. Per informazioni sull'uso di file di configurazione dell'applicazione per definire i percorsi di assembly, vedere che specifica la posizione dell'Assembly.For information on using the application configuration file to define assembly locations, see Specifying an Assembly's Location. Se assemblyName viene trovato, viene caricato nel contesto predefinito.If assemblyName is found, it is loaded in the default context.

Nota

Inizia con la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, 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 alla concessione del chiamante impostare o da un suo sottoinsieme.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to create nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller’s grant set or to a subset thereof. (Vedere considerazioni sulla sicurezza per Reflection.)(See Security Considerations for Reflection.)

Per usare questa funzionalità, l'applicazione deve essere destinata a .NET Framework 3.5.NET Framework 3.5 o versione successiva.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sicurezza

SecurityPermission
la possibilità di chiamare codice non gestito durante la creazione di un'istanza di un delegato. for the ability to call unmanaged code when creating an instance of a delegate. Enumerazione associata: UnmanagedCode Associated enumeration: UnmanagedCode

ReflectionPermission
per l'accesso a tipi non pubblici indipendentemente dal set di concessioni. for accessing nonpublic types regardless of their grant set. Enumerazione associata: MemberAccess Associated enumeration: MemberAccess

CreateInstance(ActivationContext, String[]) CreateInstance(ActivationContext, String[]) CreateInstance(ActivationContext, String[])

Crea un'istanza del tipo designato dall'oggetto ActivationContext specificato e attivato con i dati di attivazione personalizzati specificati. Creates an instance of the type that is designated by the specified ActivationContext object and activated with the specified custom activation data.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(ActivationContext ^ activationContext, cli::array <System::String ^> ^ activationCustomData);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (ActivationContext activationContext, string[] activationCustomData);
static member CreateInstance : ActivationContext * string[] -> System.Runtime.Remoting.ObjectHandle

Parametri

activationContext
ActivationContext ActivationContext ActivationContext ActivationContext

Oggetto di contesto di attivazione che specifica l'oggetto da creare. An activation context object that specifies the object to create.

activationCustomData
String[]

Matrice di stringhe Unicode contenente i dati di attivazione personalizzati. An array of Unicode strings that contain custom activation data.

Restituisce

Handle di cui deve essere annullato il wrapping per accedere all'oggetto appena creato. A handle that must be unwrapped to access the newly created object.

Commenti

Usare il ObjectHandle.Unwrap metodo per l'operazione unwrap il valore restituito.Use the ObjectHandle.Unwrap method to unwrap the return value.

Il contesto di attivazione viene usato durante l'attivazione basata su manifesto per configurare i criteri di dominio e per fornire un modello di sicurezza basato sull'applicazione.The activation context is used during manifest-based activation to set up the domain policy and to provide an application-based security model. Il ActivationContext classe contiene un ApplicationIdentity oggetto che fornisce l'accesso al manifesto dell'applicazione.The ActivationContext class contains an ApplicationIdentity object that provides access to the application manifest. Per altre informazioni, vedere la classe ApplicationSecurityManager.For more information, see the ApplicationSecurityManager class.

Vedi anche

CreateInstance(Type) CreateInstance(Type) CreateInstance(Type)

Crea un'istanza del tipo specificato usando il costruttore predefinito di tale tipo. Creates an instance of the specified type using that type's default constructor.

public:
 static System::Object ^ CreateInstance(Type ^ type);
public static object CreateInstance (Type type);
static member CreateInstance : Type -> obj

Parametri

type
Type Type Type Type

Tipo di oggetto da creare. The type of object to create.

Restituisce

Riferimento all'oggetto di recente creazione. A reference to the newly created object.

Eccezioni

type non è un oggetto RuntimeType. type is not a RuntimeType. oppure -or- type è un tipo generico aperto (ovvero, la proprietà ContainsGenericParameters restituisce true). type is an open generic type (that is, the ContainsGenericParameters property returns true).

type non può essere un TypeBuilder. type cannot be a TypeBuilder. oppure -or- La creazione di tipi TypedReference, ArgIterator, Void e RuntimeArgumentHandle, o di matrici di questi tipi, non è supportata. Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported. oppure -or- L'assembly che contiene type è un assembly dinamico creato con Save. The assembly that contains type is a dynamic assembly that was created with Save.

Il costruttore chiamato genera un'eccezione. The constructor being called throws an exception.

In .NET per app di Windows Store o nella libreria di classi portabile rilevare invece l'eccezione della classe di base, MemberAccessException. In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MemberAccessException, instead.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore. The caller does not have permission to call this constructor.

Non è possibile creare un'istanza di una classe astratta o questo membro è stato richiamato con un meccanismo di associazione tardiva. Cannot create an instance of an abstract class, or this member was invoked with a late-binding mechanism.

In .NET per app di Windows Store o nella libreria di classi portabile rilevare invece l'eccezione della classe di base, MissingMemberException. In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MissingMemberException, instead.

Non è stato trovato alcun costruttore pubblico corrispondente. No matching public constructor was found.

type è un oggetto COM ma l'identificatore di classe usato per ottenere il tipo non è valido oppure la classe identificata non è registrata. type is a COM object but the class identifier used to obtain the type is invalid, or the identified class is not registered.

type non è un tipo valido. type is not a valid type.

Esempi

Esempio di codice seguente viene illustrato come chiamare il CreateInstance(Type) (metodo).The following code example demonstrates how to call the CreateInstance(Type) method. Vengono create istanze di diversi tipi e i relativi valori predefiniti vengono visualizzati.Instances of several different types are created and their default values are displayed.

using namespace System;

ref class DynamicInstanceList
{
private:
    static String^ instanceSpec = "System.EventArgs;System.Random;" +
        "System.Exception;System.Object;System.Version";

public:
    static void Main()
    {
        array<String^>^ instances = instanceSpec->Split(';');
        Array^ instlist = Array::CreateInstance(Object::typeid, instances->Length);
        Object^ item;

        for (int i = 0; i < instances->Length; i++)
        {
            // create the object from the specification string
            Console::WriteLine("Creating instance of: {0}", instances[i]);
            item = Activator::CreateInstance(Type::GetType(instances[i]));
            instlist->SetValue(item, i);
        }
        Console::WriteLine("\nObjects and their default values:\n");
        for each (Object^ o in instlist)
        {
            Console::WriteLine("Type:     {0}\nValue:    {1}\nHashCode: {2}\n",
                o->GetType()->FullName, o->ToString(), o->GetHashCode());
        }
    }
};

int main()
{
    DynamicInstanceList::Main();
}

// This program will display output similar to the following:
//
// Creating instance of: System.EventArgs
// Creating instance of: System.Random
// Creating instance of: System.Exception
// Creating instance of: System.Object
// Creating instance of: System.Version
//
// Objects and their default values:
//
// Type:     System.EventArgs
// Value:    System.EventArgs
// HashCode: 46104728
//
// Type:     System.Random
// Value:    System.Random
// HashCode: 12289376
//
// Type:     System.Exception
// Value:    System.Exception: Exception of type 'System.Exception' was thrown.
// HashCode: 55530882
//
// Type:     System.Object
// Value:    System.Object
// HashCode: 30015890
//
// Type:     System.Version
// Value:    0.0
// HashCode: 1048575
using System;

class DynamicInstanceList
{
    private static string instanceSpec = "System.EventArgs;System.Random;" +
        "System.Exception;System.Object;System.Version";

    public static void Main()
    {
        string[] instances = instanceSpec.Split(';');
        Array instlist = Array.CreateInstance(typeof(object), instances.Length);
        object item;
        for (int i = 0; i < instances.Length; i++)
        {
            // create the object from the specification string
            Console.WriteLine("Creating instance of: {0}", instances[i]);
            item = Activator.CreateInstance(Type.GetType(instances[i]));
            instlist.SetValue(item, i);
        }
        Console.WriteLine("\nObjects and their default values:\n");
        foreach (object o in instlist)
        {
            Console.WriteLine("Type:     {0}\nValue:    {1}\nHashCode: {2}\n",
                o.GetType().FullName, o.ToString(), o.GetHashCode());
        }
    }
}

// This program will display output similar to the following:
//
// Creating instance of: System.EventArgs
// Creating instance of: System.Random
// Creating instance of: System.Exception
// Creating instance of: System.Object
// Creating instance of: System.Version
//
// Objects and their default values:
//
// Type:     System.EventArgs
// Value:    System.EventArgs
// HashCode: 46104728
//
// Type:     System.Random
// Value:    System.Random
// HashCode: 12289376
//
// Type:     System.Exception
// Value:    System.Exception: Exception of type 'System.Exception' was thrown.
// HashCode: 55530882
//
// Type:     System.Object
// Value:    System.Object
// HashCode: 30015890
//
// Type:     System.Version
// Value:    0.0
// HashCode: 1048575
Imports System

Class DynamicInstanceList
    Private Shared instanceSpec As String = "System.EventArgs;System.Random;" + _
        "System.Exception;System.Object;System.Version"

    Public Shared Sub Main()
        Dim instances() As String = instanceSpec.Split(";")
        Dim instlist As Array = Array.CreateInstance(GetType(Object), instances.Length)
        Dim item As Object

        For i As Integer = 0 To instances.Length -1
            ' create the object from the specification string
            Console.WriteLine("Creating instance of: {0}", instances(i))
            item = Activator.CreateInstance(Type.GetType(instances(i)))
            instlist.SetValue(item, i)
        Next i
        Console.WriteLine(vbNewLine + "Objects and their default values:" + vbNewLine)
        For Each o As Object In instlist
            Console.WriteLine("Type:     {0}" + vbNewLine + "Value:    {1}" + _
                vbNewLine + "HashCode: {2}" + vbNewLine, _
                o.GetType().FullName, o.ToString(), o.GetHashCode())
        Next o
    End Sub
End Class

' This program will display output similar to the following:
'
' Creating instance of: System.EventArgs
' Creating instance of: System.Random
' Creating instance of: System.Exception
' Creating instance of: System.Object
' Creating instance of: System.Version
'
' Objects and their default values:
'
' Type:     System.EventArgs
' Value:    System.EventArgs
' HashCode: 46104728
'
' Type:     System.Random
' Value:    System.Random
' HashCode: 12289376
'
' Type:     System.Exception
' Value:    System.Exception: Exception of type 'System.Exception' was thrown.
' HashCode: 55530882
'
' Type:     System.Object
' Value:    System.Object
' HashCode: 30015890
'
' Type:     System.Version
' Value:    0.0
' HashCode: 1048575

Commenti

Il costruttore da richiamare deve essere accessibile.The constructor to be invoked must be accessible.

Nota

Inizia con la .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, questo metodo può essere utilizzato per accedere a 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 alla concessione del chiamante impostare o da un suo sottoinsieme.Starting with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this method can be used to access nonpublic types if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller’s grant set or to a subset thereof. (Vedere considerazioni sulla sicurezza per Reflection.)(See Security Considerations for Reflection.)

Per usare questa funzionalità, l'applicazione deve essere destinata a .NET Framework 3.5.NET Framework 3.5 o versione successiva.To use this functionality, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Sicurezza

SecurityPermission
la possibilità di chiamare codice non gestito durante la creazione di un'istanza di un delegato. for the ability to call unmanaged code when creating an instance of a delegate. Enumerazione associata: UnmanagedCode Associated enumeration: UnmanagedCode

ReflectionPermission
Per accedere a tipi non pubblici indipendentemente dalla loro grant imposta. for accessing nonpublic types regardless of their grant sets. Enumerazione associata: MemberAccess Associated enumeration: MemberAccess

CreateInstance(ActivationContext) CreateInstance(ActivationContext) CreateInstance(ActivationContext)

Crea un'istanza del tipo designato dall'oggetto ActivationContext specificato. Creates an instance of the type designated by the specified ActivationContext object.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(ActivationContext ^ activationContext);
public static System.Runtime.Remoting.ObjectHandle CreateInstance (ActivationContext activationContext);
static member CreateInstance : ActivationContext -> System.Runtime.Remoting.ObjectHandle

Parametri

activationContext
ActivationContext ActivationContext ActivationContext ActivationContext

Oggetto di contesto di attivazione che specifica l'oggetto da creare. An activation context object that specifies the object to create.

Restituisce

Handle di cui deve essere annullato il wrapping per accedere all'oggetto appena creato. A handle that must be unwrapped to access the newly created object.

Commenti

Usare il ObjectHandle.Unwrap metodo per l'operazione unwrap il valore restituito.Use the ObjectHandle.Unwrap method to unwrap the return value.

Il contesto di attivazione viene usato durante l'attivazione basata su manifesto per configurare i criteri di dominio e per fornire un modello di sicurezza basato sull'applicazione.The activation context is used during manifest-based activation to set up the domain policy and to provide an application-based security model. Il ActivationContext classe contiene un ApplicationIdentity oggetto che fornisce l'accesso al manifesto dell'applicazione.The ActivationContext class contains an ApplicationIdentity object that provides access to the application manifest. Per altre informazioni, vedere la classe ApplicationSecurityManager.For more information, see the ApplicationSecurityManager class.

Vedi anche

CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String) CreateInstance(AppDomain, String, String)

Crea un'istanza del tipo il cui nome è specificato nel dominio remoto specificato, usando l'assembly denominato e il costruttore predefinito. Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and default constructor.

public:
 static System::Runtime::Remoting::ObjectHandle ^ CreateInstance(AppDomain ^ domain, System::String ^ assemblyName, System::String ^ typeName);
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.ObjectHandle CreateInstance (AppDomain domain, string assemblyName, string typeName);
static member CreateInstance : AppDomain * string * string -> System.Runtime.Remoting.ObjectHandle
Public Shared Function CreateInstance (domain As AppDomain, assemblyName As String, typeName As String) As ObjectHandle

Parametri

domain
AppDomain AppDomain AppDomain AppDomain

Dominio remoto in cui viene creato il tipo denominato typeName. The remote domain where the type named typeName is created.

assemblyName
String String String String

Nome dell'assembly nel quale viene ricercato il tipo denominato typeName. The name of the assembly where the type named typeName is sought. Se assemblyName è null, viene effettuata la ricerca nell'assembly in esecuzione. If assemblyName is null, the executing assembly is searched.

typeName
String String String String

Nome completo del tipo di oggetto preferito. The fully qualified name of the preferred type.

Restituisce

Handle di cui deve essere annullato il wrapping per accedere all'istanza appena creata. A handle that must be unwrapped to access the newly created instance.

Eccezioni

typeName o domain è null. typeName or domain is null.

Non è stato trovato alcun costruttore pubblico corrispondente. No matching public constructor was found.

Non è possibile trovare typename in assemblyName. typename was not found in assemblyName.

Il parametro assemblyName non è stato trovato. assemblyName was not found.

Il chiamante non ha l'autorizzazione necessaria per chiamare il costruttore. The caller does not have permission to call this constructor.

Impossibile creare un'istanza di un tipo astratto. Cannot create an instance of an abstract type. oppure -or- Questo membro è stato richiamato con un meccanismo di associazione tardiva. This member was invoked with a late-binding mechanism.

Il costruttore, richiamato tramite reflection, ha generato un'eccezione. The constructor, which was invoked through reflection, threw an exception.

La creazione di tipi TypedReference, ArgIterator, Void e RuntimeArgumentHandle, o di matrici di questi tipi, non è supportata. Creation of TypedReference, ArgIterator, Void, and RuntimeArgumentHandle types, or arrays of those types, is not supported.

assemblyName non è un assembly valido. assemblyName is not a valid assembly. oppure -or- 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. The common language runtime (CLR) version 2.0 or later is currently loaded, and assemblyName was compiled for a version of the CLR that is later than the currently loaded version. Si noti che le versioni 2.0, 3.0 e 3.5 di .NET Framework usano tutte CLR versione 2.0. Note that the .NET Framework versions 2.0, 3.0, and 3.5 all use CLR version 2.0.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse. An assembly or module was loaded twice with two different evidences. oppure -or- La codebase o il nome dell'assembly non è valido. The assembly name or code base is invalid.

Commenti

Usare CreateInstance quando un host deve eseguire il codice in un dominio dell'applicazione con autorizzazioni di sicurezza limitate.Use CreateInstance when a host needs to execute code in an application domain that has restricted security permissions.

Usare ObjectHandle.Unwrap per scartare il valore restituito.Use ObjectHandle.Unwrap to unwrap the return value.

Nota

Questo metodo Usa SecurityAction.LinkDemand per richiedere che il chiamante immediato disponga di attendibilità.This method uses SecurityAction.LinkDemand to require the immediate caller to have full trust.

Sicurezza

SecurityPermission
la possibilità di chiamare codice non gestito durante la creazione di un'istanza di un delegato. for the ability to call unmanaged code when creating an instance of a delegate. Enumerazione associata: UnmanagedCode Associated enumeration: UnmanagedCode

ReflectionPermission
la possibilità di richiamare le operazioni su tutti i membri di tipo. for the ability to invoke operations on all type members. Enumerazione associata: MemberAccess Associated enumeration: MemberAccess

SecurityCriticalAttribute
richiede l'attendibilità totale per il chiamante immediato. requires full trust for the immediate caller. Questo membro non può essere utilizzato da codice parzialmente attendibile o trasparente. This member cannot be used by partially trusted or transparent code.

CreateInstance<T>() CreateInstance<T>() CreateInstance<T>() CreateInstance<T>()

Crea un'istanza del tipo designato dal parametro di tipo generico specificato, usando il costruttore senza parametri. Creates an instance of the type designated by the specified generic type parameter, using the parameterless constructor.

public:
generic <typename T>
 static T CreateInstance();
public static T CreateInstance<T> ();
static member CreateInstance : unit -> 'T
Public Shared Function CreateInstance(Of T) () As T

Parametri di tipo

T

Tipo da creare. The type to create.

Restituisce

T T T T

Riferimento all'oggetto di recente creazione. A reference to the newly created object.

Eccezioni

In .NET per app di Windows Store o nella libreria di classi portabile rilevare invece l'eccezione della classe di base, MissingMemberException. In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MissingMemberException, instead.

Il tipo specificato per T non ha un costruttore senza parametri. The type that is specified for T does not have a parameterless constructor.

Commenti

Il CreateInstance<T>() metodo generico viene usato dai compilatori per implementare la creazione di istanze di tipi specificati dai parametri di tipo.The CreateInstance<T>() generic method is used by compilers to implement the instantiation of types specified by type parameters. Ad esempio, nel metodo generico seguente, l'implementazione di new T() (gcnew T() in C++) usa il CreateInstance<T>() metodo generico.For example, in the following generic method, the implementation of new T() (gcnew T() in C++) uses the CreateInstance<T>() generic method.

public:
    generic <typename T> where T:gcnew()
    static T Bar()
    {
        return gcnew T();
    }
public static T Factory<T>() where T : new()
{
    return new T();
}
Public Shared Function Factory(Of T As New)() As T
    Return New T()
End Function

In generale, non viene utilizzato per il CreateInstance<T>() codice generico metodo nell'applicazione, perché il tipo deve essere noto in fase di compilazione.In general, there is no use for the CreateInstance<T>() generic method in application code, because the type must be known at compile time. Se il tipo è noto in fase di compilazione, è possibile usare la creazione di istanze normale sintassi (new operatore in c# New in Visual Basic gcnew in C++).If the type is known at compile time, normal instantiation syntax can be used (new operator in C#, New in Visual Basic, gcnew in C++). Se il tipo non è noto in fase di compilazione, è possibile chiamare un overload non generico di CreateInstance.If the type is not known at compile time, you can call a non-generic overload of CreateInstance.

Non sono presenti overload del CreateInstance<T>() metodo generico che accettano elenchi di argomenti, perché esegue l'overload non generico di CreateInstance forniscono già risoluzione del costruttore ad associazione tardiva.There are no overloads of the CreateInstance<T>() generic method that take argument lists, because the non-generic overloads of CreateInstance already provide late-bound constructor resolution.

Si applica a