Activator Activator Activator Activator Class

Definizione

Contiene metodi per creare tipi di oggetti, localmente o in remoto, oppure per ottenere riferimenti a oggetti remoti esistenti.Contains methods to create types of objects locally or remotely, or obtain references to existing remote objects. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class Activator sealed : System::Runtime::InteropServices::_Activator
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Activator : System.Runtime.InteropServices._Activator
type Activator = class
    interface _Activator
Public NotInheritable Class Activator
Implements _Activator
Ereditarietà
ActivatorActivatorActivatorActivator
Attributi
Implementazioni

Esempi

Nell'esempio seguente viene illustrato come utilizzare la Activator classe per costruire dinamicamente oggetti in fase di esecuzione.The following example shows how to use the Activator class to dynamically construct objects at run time.

using namespace System;
using namespace System::Reflection;
using namespace System::Text;

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

void main()
{
    // Create an instance of the StringBuilder type using 
    // Activator.CreateInstance.
    Object^ o = Activator::CreateInstance(StringBuilder::typeid);

    // 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, 
                                      SomeType::typeid->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
 */
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
 */
Imports System.Reflection
Imports System.Text

Module Module1
    Sub Main()
        ' Create an instance of the StringBuilder type using 
        ' Activator.CreateInstance.
        Dim o As Object = Activator.CreateInstance(GetType(StringBuilder))

        ' Append a string into the StringBuilder object and display the 
        ' StringBuilder.
        Dim sb As StringBuilder = CType(o, StringBuilder)
        sb.Append("Hello, there.")
        Console.WriteLine(sb)

        ' Create an instance of the SomeType class that is defined in this assembly.
        Dim oh As System.Runtime.Remoting.ObjectHandle = _
            Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().CodeBase, _
                                         GetType(SomeType).FullName)

        ' Call an instance method defined by the SomeType type using this object.
        Dim st As SomeType = CType(oh.Unwrap(), SomeType)

        st.DoSomething(5)
    End Sub

    Class SomeType
        Public Sub DoSomething(ByVal x As Int32)
            Console.WriteLine("100 / {0} = {1}", x, 100 \ x)
        End Sub
    End Class
End Module

' This code produces the following output:
' 
' Hello, there.
' 100 / 5 = 20

Commenti

Il CreateInstance metodo crea un'istanza di un tipo definito in un assembly richiamando il costruttore che corrisponde maggiormente agli argomenti specificati.The CreateInstance method creates an instance of a type defined in an assembly by invoking the constructor that best matches the specified arguments. Se non viene specificato alcun argomento, viene richiamato il costruttore che non accetta parametri, ovvero il costruttore senza parametri.If no arguments are specified, the constructor that takes no parameters, that is, the parameterless constructor, is invoked.

È necessario disporre di autorizzazioni sufficienti per cercare e chiamare un costruttore. in caso contrario, viene generata un'eccezione.You must have sufficient permission to search for and call a constructor; otherwise, an exception is thrown. Per impostazione predefinita, solo i costruttori pubblici vengono considerati durante la ricerca di un costruttore.By default, only public constructors are considered during the search for a constructor. Se non è possibile trovare alcun costruttore o costruttore senza parametri, viene generata un'eccezione.If no constructor or parameterless constructor can be found, an exception is thrown.

Un parametro binder specifica un oggetto che cerca un costruttore appropriato in un assembly.A binder parameter specifies an object that searches an assembly for a suitable constructor. È possibile specificare il proprio Binder e i criteri di ricerca.You can specify your own binder and search criteria. Se non viene specificato alcun Binder, viene utilizzato un binder predefinito.If no binder is specified, a default binder is used. Per altre informazioni, vedere le classi System.Reflection.Binder e System.Reflection.BindingFlags.For more information, see the System.Reflection.Binder and System.Reflection.BindingFlags classes.

Un parametro Evidence influiscono sui criteri di sicurezza e sulle autorizzazioni per il costruttore.An evidence parameter affects the security policy and permissions for the constructor. Per altre informazioni, vedere la classe System.Security.Policy.Evidence.For more information, see the System.Security.Policy.Evidence class.

È possibile creare un'istanza di un tipo in un sito locale o remoto.An instance of a type can be created at a local or remote site. Se il tipo viene creato in modalità remota, un parametro dell'attributo Activation specifica l'URI del sito remoto.If the type is created remotely, an activation attribute parameter specifies the URI of the remote site. La chiamata per creare l'istanza potrebbe passare attraverso i siti intermedi prima che raggiunga il sito remoto.The call to create the instance might pass through intermediary sites before it reaches the remote site. Altri attributi di attivazione possono modificare l'ambiente o il contesto in cui la chiamata opera nei siti remoti e intermedi.Other activation attributes can modify the environment, or context, in which the call operates at the remote and intermediary sites.

Se l'istanza viene creata localmente, viene restituito un riferimento a tale oggetto.If the instance is created locally, a reference to that object is returned. Se l'istanza viene creata in remoto, viene restituito un riferimento a un proxy.If the instance is created remotely, a reference to a proxy is returned. L'oggetto remoto viene modificato tramite il proxy come se fosse un oggetto locale.The remote object is manipulated through the proxy as if it were a local object.

Il GetObject metodo crea un proxy a un oggetto remoto attualmente in esecuzione, a un oggetto noto attivato dal server o a un servizio Web XML.The GetObject method creates a proxy to a currently running remote object, server-activated well-known object, or XML Web service. È possibile specificare il supporto di connessione, ovvero il canale.You can specify the connection medium, that is, the channel. Per altre informazioni, vedere la classe System.Runtime.Remoting.Channels.ChannelServices.For more information, see the System.Runtime.Remoting.Channels.ChannelServices class.

Gli assembly contengono definizioni di tipi.Assemblies contain type definitions. Il CreateInstance metodo crea un'istanza di un tipo da un assembly attualmente in esecuzione.The CreateInstance method creates an instance of a type from a currently running assembly. Il CreateInstanceFrom metodo crea un'istanza da un file che contiene un assembly.The CreateInstanceFrom method creates an instance from a file that contains an assembly. Il CreateComInstanceFrom metodo crea un'istanza di un oggetto com da un file che contiene un assembly.The CreateComInstanceFrom method creates an instance of a COM object from a file that contains an assembly.

Metodi

CreateComInstanceFrom(String, String) CreateComInstanceFrom(String, String) CreateComInstanceFrom(String, String) CreateComInstanceFrom(String, String)

Crea un'istanza dell'oggetto COM il cui nome viene specificato, usando il file di assembly denominato e il costruttore senza parametri.Creates an instance of the COM object whose name is specified, using the named assembly file and the parameterless constructor.

CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm) CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm) CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm) CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

Crea un'istanza dell'oggetto COM il cui nome viene specificato, usando il file di assembly denominato e il costruttore senza parametri.Creates an instance of the COM object whose name is specified, using the named assembly file and the parameterless constructor.

CreateInstance(ActivationContext) 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(ActivationContext, String[]) 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(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 senza parametri.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and parameterless constructor.

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[]) 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(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) 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(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 senza parametri.Creates an instance of the type whose name is specified, using the named assembly and parameterless constructor.

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[]) 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(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) 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(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 senza parametri.Creates an instance of the type whose name is specified, using the named assembly and parameterless constructor.

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

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

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

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

CreateInstance(Type, Object[]) 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, Object[], Object[]) 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<T>() CreateInstance<T>() CreateInstance<T>() CreateInstance<T>()

Crea un'istanza del tipo designato dal parametro del 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.

CreateInstanceFrom(AppDomain, String, String) CreateInstanceFrom(AppDomain, String, String) CreateInstanceFrom(AppDomain, String, String) CreateInstanceFrom(AppDomain, String, String)

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

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

Crea un'istanza del tipo il cui nome è specificato nel dominio remoto specificato, usando i file di 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 file and the constructor that best matches the specified parameters.

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

Crea un'istanza del tipo il cui nome è specificato nel dominio remoto specificato, usando i file di 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 file and the constructor that best matches the specified parameters.

CreateInstanceFrom(String, String) CreateInstanceFrom(String, String) CreateInstanceFrom(String, String) CreateInstanceFrom(String, String)

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

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

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

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

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

CreateInstanceFrom(String, String, Object[]) CreateInstanceFrom(String, String, Object[]) CreateInstanceFrom(String, String, Object[]) CreateInstanceFrom(String, String, Object[])

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

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetObject(Type, String) GetObject(Type, String) GetObject(Type, String) GetObject(Type, String)

Crea un proxy per l'oggetto noto indicato dal tipo e dall'URL specificati.Creates a proxy for the well-known object indicated by the specified type and URL.

GetObject(Type, String, Object) GetObject(Type, String, Object) GetObject(Type, String, Object) GetObject(Type, String, Object)

Crea un proxy per l'oggetto noto indicato dal tipo, dall'URL e dai dati di canale specificati.Creates a proxy for the well-known object indicated by the specified type, URL, and channel data.

GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

_Activator.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Activator.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Activator.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Activator.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

_Activator.GetTypeInfo(UInt32, UInt32, IntPtr) _Activator.GetTypeInfo(UInt32, UInt32, IntPtr) _Activator.GetTypeInfo(UInt32, UInt32, IntPtr) _Activator.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto che può quindi essere usato per ottenere informazioni sul tipo relative a un'interfaccia.Retrieves the type information for an object, which can then be used to get the type information for an interface.

_Activator.GetTypeInfoCount(UInt32) _Activator.GetTypeInfoCount(UInt32) _Activator.GetTypeInfoCount(UInt32) _Activator.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

_Activator.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Activator.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Activator.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Activator.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

Si applica a