Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.
0 sur 1 ont trouvé cela utile - Évaluez ce sujet

Activator, classe

Mise à jour : novembre 2007

Contient des méthodes permettant de créer des types d'objets localement ou à distance, ou d'obtenir des références à des objets distants existants. Cette classe ne peut pas être héritée.

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]
public sealed class Activator : _Activator
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.None) */
/** @attribute ComVisibleAttribute(true) */
public final class Activator implements _Activator
public final class Activator implements _Activator

La méthode CreateInstance crée une instance d'un type défini dans un assembly en appelant le constructeur qui correspond le mieux aux arguments spécifiés. Si aucun argument n'est spécifié, le constructeur qui ne prend aucun paramètre, c'est-à-dire le constructeur par défaut, est appelé.

Vous devez posséder les autorisations suffisantes pour rechercher et appeler un constructeur ; sinon, une exception est levée. Par défaut, seuls les constructeurs publics sont pris en compte lors de la recherche d'un constructeur. Si aucun constructeur correspondant ou aucun constructeur par défaut n'est trouvé, une exception est levée.

Un paramètre binder spécifie un objet qui recherche un constructeur approprié dans un assembly. Vous pouvez spécifier votre propre classeur et vos critères de recherche. Si aucun classeur n'est spécifié, un classeur par défaut est utilisé. Pour plus d'informations, consultez les classes System.Reflection.Binder et System.Reflection.BindingFlags.

Un paramètre de preuve affecte la stratégie de sécurité et les autorisations du constructeur. Pour plus d'informations, consultez la classe System.Security.Policy.Evidence.

Une instance d'un type peut être créée au niveau d'un site local ou distant. Si le type est créé à distance, un paramètre d'attribut d'activation spécifie l'URI du site distant. L'appel permettant de créer une instance peut passer par des sites intermédiaires avant d'atteindre le site distant. D'autres attributs d'activation peuvent modifier l'environnement, ou le contexte, dans lequel l'appel agit au niveau du site distant et des sites intermédiaires.

Si l'instance est créée localement, une référence à cet objet est retournée. Si l'instance est créée à distance, une référence à un proxy est retournée. L'objet distant est manipulé à l'aide du proxy comme s'il s'agissait d'un objet local.

La méthode GetObject crée un proxy pour un objet distant en cours d'exécution, pour un objet connu activé par le serveur ou pour un service Web XML. Vous pouvez spécifier le moyen de connexion, c'est-à-dire le canal. Pour plus d'informations, consultez la classe System.Runtime.Remoting.Channels.ChannelServices.

Les assemblys contiennent des définitions de types. La méthode CreateInstance crée une instance d'un type à partir d'un assembly en cours d'exécution. La méthode CreateInstanceFrom crée une instance à partir d'un fichier qui contient un assembly. La méthode CreateComInstanceFrom crée une instance d'un objet COM à partir d'un fichier qui contient un assembly.

Pour plus d'informations sur les objets activés par le serveur et par le client, consultez la rubrique Activation serveur.

L'exemple suivant illustre l'utilisation de la classe Activator pour construire dynamiquement des objets au moment de l'exécution.

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
 */


Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Pris en charge dans : 3.5, 2.0, 1.0

XNA Framework

Pris en charge dans : 2.0, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

Afficher:
© 2014 Microsoft. Tous droits réservés.