Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe Activator

Contiene metodi per creare tipi di oggetti, localmente o in remoto, oppure per ottenere riferimenti a oggetti remoti esistenti. Questa classe non può essere ereditata.

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

[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
public sealed class Activator : _Activator

Il tipo Activator espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoMembro staticoCreateComInstanceFrom(String, String)Crea un'istanza dell'oggetto COM il cui nome è specificato, utilizzando il file di assembly denominato e il costruttore più adatto ai parametri specificati.
Metodo pubblicoMembro staticoCreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)Crea un'istanza dell'oggetto COM il cui nome viene specificato, utilizzando il file di assembly denominato e il costruttore predefinito.
Metodo pubblicoMembro staticoCreateInstance(ActivationContext)Crea un'istanza del tipo designato dall'oggetto ActivationContext specificato.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreCreateInstance(Type)Crea un'istanza del tipo specificato utilizzando il costruttore predefinito di tale tipo.
Metodo pubblicoMembro staticoCreateInstance(ActivationContext, String[])Crea un'istanza del tipo designato dall'oggetto ActivationContext specificato e attivato con i dati di attivazione personalizzati specificati.
Metodo pubblicoMembro staticoCreateInstance(String, String)Crea un'istanza del tipo il cui nome è specificato, utilizzando l'assembly denominato e il costruttore predefinito.
Metodo pubblicoMembro staticoCreateInstance(Type, Boolean)Crea un'istanza del tipo specificato utilizzando il costruttore predefinito di tale tipo.
Metodo pubblicoMembro staticoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreCreateInstance(Type, Object[])Crea un'istanza del tipo specificato utilizzando il costruttore più adatto ai parametri specificati.
Metodo pubblicoMembro staticoCreateInstance(AppDomain, String, String)Crea un'istanza del tipo il cui nome è specificato nel dominio remoto specificato, utilizzando l'assembly denominato e il costruttore predefinito.
Metodo pubblicoMembro staticoCreateInstance(String, String, Object[])Crea un'istanza del tipo il cui nome è specificato, utilizzando l'assembly denominato e il costruttore predefinito.
Metodo pubblicoMembro staticoCreateInstance(Type, Object[], Object[])Crea un'istanza del tipo specificato utilizzando il costruttore più adatto ai parametri specificati.
Metodo pubblicoMembro staticoCreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo)Crea un'istanza del tipo specificato utilizzando il costruttore più adatto ai parametri specificati.
Metodo pubblicoMembro staticoCreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])Crea un'istanza del tipo specificato utilizzando il costruttore più adatto ai parametri specificati.
Metodo pubblicoMembro staticoCreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])Crea un'istanza del tipo il cui nome è specificato, utilizzando l'assembly denominato e il costruttore più adatto ai parametri specificati.
Metodo pubblicoMembro staticoCreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])Crea un'istanza del tipo il cui nome è specificato nel dominio remoto specificato, utilizzando l'assembly denominato e il costruttore che corrisponde maggiormente ai parametri specificati.
Metodo pubblicoMembro staticoCreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) Obsoleta. Crea un'istanza del tipo il cui nome è specificato, utilizzando l'assembly denominato e il costruttore più adatto ai parametri specificati.
Metodo pubblicoMembro staticoCreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) Obsoleta. Crea un'istanza del tipo il cui nome è specificato nel dominio remoto specificato, utilizzando l'assembly denominato e il costruttore che corrisponde maggiormente ai parametri specificati.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreCreateInstance<T>()Crea un'istanza del tipo designato dal parametro del tipo generico specificato, utilizzando il costruttore senza parametri.
Metodo pubblicoMembro staticoCreateInstanceFrom(String, String)Crea un'istanza del tipo il cui nome è specificato utilizzando il file di assembly denominato e il costruttore predefinito.
Metodo pubblicoMembro staticoCreateInstanceFrom(AppDomain, String, String)Crea un'istanza del tipo il cui nome è specificato nel dominio remoto specificato, utilizzando il file di assembly denominato e il costruttore predefinito.
Metodo pubblicoMembro staticoCreateInstanceFrom(String, String, Object[])Crea un'istanza del tipo il cui nome è specificato utilizzando il file di assembly denominato e il costruttore predefinito.
Metodo pubblicoMembro staticoCreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])Crea un'istanza del tipo il cui nome è specificato, utilizzando il file di assembly denominato e il costruttore più adatto ai parametri specificati.
Metodo pubblicoMembro staticoCreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])Crea un'istanza del tipo il cui nome è specificato nel dominio remoto specificato, utilizzando i file di assembly denominato e il costruttore che corrisponde maggiormente ai parametri specificati.
Metodo pubblicoMembro staticoCreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) Obsoleta. Crea un'istanza del tipo il cui nome è specificato, utilizzando il file di assembly denominato e il costruttore più adatto ai parametri specificati.
Metodo pubblicoMembro staticoCreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) Obsoleta. Crea un'istanza del tipo il cui nome è specificato nel dominio remoto specificato, utilizzando i file di assembly denominato e il costruttore che corrisponde maggiormente ai parametri specificati.
Metodo pubblicoSupportato da XNA FrameworkEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo pubblicoSupportato da XNA FrameworkGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoMembro staticoGetObject(Type, String)Crea un proxy per l'oggetto noto indicato dal tipo e dall'URL specificati.
Metodo pubblicoMembro staticoGetObject(Type, String, Object)Crea un proxy per l'oggetto noto indicato dal tipo, dall'URL e dai dati di canale specificati.
Metodo pubblicoSupportato da XNA FrameworkGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoSupportato da XNA FrameworkToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privato_Activator.GetIDsOfNames Esegue il mapping di un set di nomi a un corrispondente set di identificatori di dispatch.
Implementazione esplicita dell'interfacciaMetodo privato_Activator.GetTypeInfoRecupera le informazioni sul tipo relative a un oggetto che può quindi essere utilizzato per ottenere informazioni sul tipo relative a un'interfaccia.
Implementazione esplicita dell'interfacciaMetodo privato_Activator.GetTypeInfoCount Recupera il numero di interfacce di informazioni sui tipi che un oggetto fornisce (0 o 1).
Implementazione esplicita dell'interfacciaMetodo privato_Activator.Invoke Fornisce l'accesso alle proprietà ed ai metodi esposti da un oggetto.
In alto

Il metodo CreateInstance crea un'istanza di un tipo definito in un assembly chiamando il costruttore più adatto agli argomenti specificati. Se nessun argomento viene specificato, viene chiamato il costruttore che non prevede parametri, ovvero il costruttore predefinito.

Per cercare e chiamare un costruttore è necessario disporre dell'autorizzazione necessaria; in caso contrario, viene generata un'eccezione. Per impostazione predefinita vengono considerati solo i costruttori pubblici durante la ricerca di un costruttore. Se non si riesce a trovare un costruttore o il costruttore predefinito, viene generata un'eccezione.

Il parametro del gestore di associazione specifica un oggetto con il quale ricercare un costruttore adatto in un assembly. È possibile specificare il proprio gestore di associazione e criterio di ricerca. Se non viene specificato alcun gestore di associazione, verrà utilizzato un gestore predefinito. Per ulteriori informazioni, vedere le classi System.Reflection.Binder e System.Reflection.BindingFlags.

Un parametro di evidenza ha effetto sui criteri e sulle autorizzazioni di sicurezza del costruttore. Per ulteriori informazioni, vedere la classe System.Security.Policy.Evidence.

Un'istanza di un tipo può essere creata in un sito locale o remoto. Se il tipo viene creato in remoto, un parametro dell'attributo di attivazione specifica l'URI del sito remoto. La chiamata per creare l'istanza può passare tramite siti intermedi prima di raggiungere il sito remoto. Altri attributi di attivazione possono modificare l'ambiente, o contesto, nel quale la chiamata opera nei siti intermedi e nel sito remoto.

Se l'istanza viene creata localmente, viene restituito un riferimento all'oggetto. Se l'istanza viene creata in remoto, viene restituito un riferimento a un proxy. L'oggetto remoto viene modificato tramite il proxy, come se si trattasse di un oggetto locale.

Il metodo GetObject crea un proxy per un oggetto remoto attualmente in esecuzione, un oggetto noto attivato dal server o un servizio Web XML. È possibile specificare il mezzo di connessione, ovvero il canale. Per ulteriori informazioni, vedere la classe System.Runtime.Remoting.Channels.ChannelServices.

Gli assembly contengono definizioni di tipi. Il metodo CreateInstance crea un'istanza di un tipo da un assembly attualmente in esecuzione. Il metodo CreateInstanceFrom crea un'istanza da un file che contiene un assembly. Il metodo CreateComInstanceFrom crea un'istanza di un oggetto COM da un file che contiene un assembly.

Nell'esempio seguente viene illustrato come utilizzare la classe Activator per costruire in modo dinamico oggetti in fase di esecuzione.


using System;
using System.Reflection;
using System.Text;

public class SomeType
{
    public void DoSomething(int x)
    {
        Console.WriteLine("100 / {0} = {1}", x, 100 / x);
    }
}

public class Example
{
    static void Main()
    {
        // Create an instance of the StringBuilder type using 
        // Activator.CreateInstance.
        Object o = Activator.CreateInstance(typeof(StringBuilder));

        // Append a string into the StringBuilder object and display the 
        // StringBuilder.
        StringBuilder sb = (StringBuilder) o;
        sb.Append("Hello, there.");
        Console.WriteLine(sb);

        // Create an instance of the SomeType class that is defined in this 
        // assembly.
        System.Runtime.Remoting.ObjectHandle oh = 
            Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().CodeBase, 
                                         typeof(SomeType).FullName);

        // Call an instance method defined by the SomeType type using this object.
        SomeType st = (SomeType) oh.Unwrap();

        st.DoSomething(5);
    }
}

/* This code produces the following output:

Hello, there.
100 / 5 = 20
 */


.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft