Activator Activator Activator Activator Class

Definición

Contiene métodos para crear tipos de objetos de forma local o remota, o para obtener referencias a objetos remotos existentes.Contains methods to create types of objects locally or remotely, or obtain references to existing remote objects. Esta clase no puede heredarse.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
Herencia
ActivatorActivatorActivatorActivator
Atributos
Implementaciones

Ejemplos

El ejemplo siguiente muestra cómo usar el Activator clase para construir objetos dinámicamente en tiempo de ejecución.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

Comentarios

El CreateInstance método crea una instancia de un tipo definido en un ensamblado mediante la invocación del constructor que mejor coincide con los argumentos especificados.The CreateInstance method creates an instance of a type defined in an assembly by invoking the constructor that best matches the specified arguments. Si no se especifica ningún argumento, el constructor que no toma ningún parámetro, es decir, el constructor predeterminado, se invoca.If no arguments are specified, the constructor that takes no parameters, that is, the default constructor, is invoked.

Debe tener permisos suficientes para buscar y llamar a un constructor; en caso contrario, se produce una excepción.You must have sufficient permission to search for and call a constructor; otherwise, an exception is thrown. De forma predeterminada, sólo los constructores públicos se consideran durante la búsqueda de un constructor.By default, only public constructors are considered during the search for a constructor. Si no se encuentra ningún constructor o un constructor predeterminado, se produce una excepción.If no constructor or default constructor can be found, an exception is thrown.

Un parámetro enlazador especifica un objeto que busca un ensamblado para un constructor adecuado.A binder parameter specifies an object that searches an assembly for a suitable constructor. Puede especificar sus propios criterios de búsqueda y el enlazador.You can specify your own binder and search criteria. Si no se especifica, se utiliza un enlazador predeterminado.If no binder is specified, a default binder is used. Para obtener más información, vea las clases System.Reflection.Binder y System.Reflection.BindingFlags.For more information, see the System.Reflection.Binder and System.Reflection.BindingFlags classes.

Un parámetro de evidencia afecta a la directiva de seguridad y permisos para el constructor.An evidence parameter affects the security policy and permissions for the constructor. Para obtener más información, vea la clase System.Security.Policy.Evidence.For more information, see the System.Security.Policy.Evidence class.

Una instancia de un tipo puede crearse en un sitio local o remoto.An instance of a type can be created at a local or remote site. Si el tipo se crea de forma remota, un parámetro de atributo de activación especifica el URI del sitio remoto.If the type is created remotely, an activation attribute parameter specifies the URI of the remote site. La llamada para crear la instancia podría pasar a través de los sitios intermedios antes de que llegue el sitio remoto.The call to create the instance might pass through intermediary sites before it reaches the remote site. Otros atributos de activación pueden modificar el contexto, en el que se ejecuta la llamada en los sitios remotos e intermediarios o entorno.Other activation attributes can modify the environment, or context, in which the call operates at the remote and intermediary sites.

Si la instancia se crea localmente, se devuelve una referencia a ese objeto.If the instance is created locally, a reference to that object is returned. Si la instancia se crea de forma remota, se devuelve una referencia a un servidor proxy.If the instance is created remotely, a reference to a proxy is returned. El objeto remoto se manipula a través del proxy como si fuese un objeto local.The remote object is manipulated through the proxy as if it were a local object.

El GetObject método crea un proxy a un objeto remoto en ejecución, el objeto conocido activado en el servidor o el servicio Web XML.The GetObject method creates a proxy to a currently running remote object, server-activated well-known object, or XML Web service. Puede especificar el medio de conexión, es decir, el canal.You can specify the connection medium, that is, the channel. Para obtener más información, vea la clase System.Runtime.Remoting.Channels.ChannelServices.For more information, see the System.Runtime.Remoting.Channels.ChannelServices class.

Los ensamblados contienen definiciones de tipo.Assemblies contain type definitions. El CreateInstance método crea una instancia de un tipo de un ensamblado que se está ejecutando.The CreateInstance method creates an instance of a type from a currently running assembly. El CreateInstanceFrom método crea una instancia de un archivo que contiene un ensamblado.The CreateInstanceFrom method creates an instance from a file that contains an assembly. El CreateComInstanceFrom método crea una instancia de un objeto COM desde un archivo que contiene un ensamblado.The CreateComInstanceFrom method creates an instance of a COM object from a file that contains an assembly.

Métodos

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

Crea una instancia del objeto COM cuyo nombre se especifica, usando el archivo de ensamblado con nombre y el constructor predeterminado.Creates an instance of the COM object whose name is specified, using the named assembly file and the default constructor.

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

Crea una instancia del objeto COM cuyo nombre se especifica, usando el archivo de ensamblado con nombre y el constructor predeterminado.Creates an instance of the COM object whose name is specified, using the named assembly file and the default constructor.

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

Crea una instancia del tipo designado por el objeto ActivationContext especificado.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 una instancia del tipo designado por el objeto ActivationContext especificado y activada con los datos de activación personalizados especificados.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 una instancia del tipo cuyo nombre se especifica en el dominio remoto indicado, usando el ensamblado con nombre y el constructor predeterminado.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and default 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 una instancia del tipo cuyo nombre se especifica en el dominio remoto indicado, usando el ensamblado con nombre y el constructor que se adapta mejor a los parámetros especificados.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 una instancia del tipo cuyo nombre se especifica en el dominio remoto indicado, usando el ensamblado con nombre y el constructor que se adapta mejor a los parámetros especificados.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 una instancia del tipo cuyo nombre se especifica, usando el ensamblado con nombre y el constructor predeterminado.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[]) 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 una instancia del tipo cuyo nombre se especifica, usando el ensamblado con nombre y el constructor que mejor coincida con los parámetros especificados.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 una instancia del tipo cuyo nombre se especifica, usando el ensamblado con nombre y el constructor que mejor coincida con los parámetros especificados.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 una instancia del tipo cuyo nombre se especifica, usando el ensamblado con nombre y el constructor predeterminado.Creates an instance of the type whose name is specified, using the named assembly and default constructor.

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

Crea una instancia del tipo especificado usando el constructor predeterminado de ese tipo.Creates an instance of the specified type using that type's default 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 una instancia del tipo especificado usando el constructor que mejor coincida con los parámetros especificados.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 una instancia del tipo especificado usando el constructor que mejor coincida con los parámetros especificados.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 una instancia del tipo especificado usando el constructor predeterminado de ese tipo.Creates an instance of the specified type using that type's default constructor.

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

Crea una instancia del tipo especificado usando el constructor que mejor coincida con los parámetros especificados.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 una instancia del tipo especificado usando el constructor que mejor coincida con los parámetros especificados.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 una instancia del tipo designado por el parámetro de tipo genérico especificado, usando el constructor sin parámetros.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 una instancia del tipo cuyo nombre se especifica en el dominio remoto indicado, usando el archivo de ensamblado con nombre y el constructor predeterminado.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly file and default 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 una instancia del tipo cuyo nombre se especifica en el dominio remoto indicado, usando el archivo del ensamblado con nombre y el constructor que se adapta mejor a los parámetros especificados.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 una instancia del tipo cuyo nombre se especifica en el dominio remoto indicado, usando el archivo del ensamblado con nombre y el constructor que se adapta mejor a los parámetros especificados.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 una instancia del tipo cuyo nombre se especifica, usando el archivo de ensamblado con nombre y el constructor predeterminado.Creates an instance of the type whose name is specified, using the named assembly file and default 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 una instancia del tipo cuyo nombre se especifica, usando el archivo de ensamblado con nombre y el constructor que mejor coincida con los parámetros especificados.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 una instancia del tipo cuyo nombre se especifica, usando el archivo de ensamblado con nombre y el constructor que mejor coincida con los parámetros especificados.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 una instancia del tipo cuyo nombre se especifica, usando el archivo de ensamblado con nombre y el constructor predeterminado.Creates an instance of the type whose name is specified, using the named assembly file and default constructor.

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

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

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

Sirve como la función hash predeterminada.Serves as the default hash function.

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

Crea un proxy para el objeto conocido indicado por el tipo y dirección URL especificados.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 para el objeto conocido indicado por el tipo, dirección URL y datos de canal especificados.Creates a proxy for the well-known object indicated by the specified type, URL, and channel data.

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

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

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

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

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

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Implementaciones de interfaz explícitas

_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)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.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 la información de tipo de un objeto, que se puede usar después para obtener la información de tipo de una interfaz.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 el número de interfaces de información de tipo que proporciona un objeto (0 ó 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)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.Provides access to properties and methods exposed by an object.

Se aplica a