Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

CompositionContainer classe

 

Date de publication : novembre 2016

Gère la composition des composants.

Espace de noms:   System.ComponentModel.Composition.Hosting
Assembly:  System.ComponentModel.Composition (dans System.ComponentModel.Composition.dll)

System.Object
  System.ComponentModel.Composition.Hosting.ExportProvider
    System.ComponentModel.Composition.Hosting.CompositionContainer

public class CompositionContainer : ExportProvider, ICompositionService, 
	IDisposable

NomDescription
System_CAPS_pubmethodCompositionContainer()

Initialise une nouvelle instance de la classe CompositionContainer.

System_CAPS_pubmethodCompositionContainer(ComposablePartCatalog, Boolean, ExportProvider[])

Initialise une nouvelle instance de la CompositionContainer classe avec le catalogue spécifié, le mode thread-safe et les fournisseurs d’exportations.

System_CAPS_pubmethodCompositionContainer(ComposablePartCatalog, CompositionOptions, ExportProvider[])

Initialise une nouvelle instance de la CompositionContainer classe avec le catalogue spécifié, options et exporter des fournisseurs.

System_CAPS_pubmethodCompositionContainer(ComposablePartCatalog, ExportProvider[])

Initialise une nouvelle instance de la CompositionContainer classe avec le catalogue spécifié et les fournisseurs d’exportations.

System_CAPS_pubmethodCompositionContainer(CompositionOptions, ExportProvider[])

Initialise une nouvelle instance de la CompositionContainer classe avec les options et les fournisseurs d’exportations spécifiés.

System_CAPS_pubmethodCompositionContainer(ExportProvider[])

Initialise une nouvelle instance de la CompositionContainer classe avec les fournisseurs d’exportation spécifié.

NomDescription
System_CAPS_pubpropertyCatalog

Obtient les ComposablePartCatalog qui fournit l’accès au conteneur à Export objets.

System_CAPS_pubpropertyProviders

Obtient les fournisseurs d’exportations qui fournissent au conteneur l’accès aux autres ComposablePartCatalog objets.

NomDescription
System_CAPS_pubmethodCompose(CompositionBatch)

Ajoute ou supprime les parties spécifié CompositionBatch à partir du conteneur et exécute la composition.

System_CAPS_pubmethodDispose()

Libère toutes les ressources utilisées par l'instance actuelle de la classe CompositionContainer.

System_CAPS_protmethodDispose(Boolean)

Libère les ressources non managées utilisées par CompositionContainer et libère éventuellement les ressources managées.

System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)

System_CAPS_pubmethodGetExport<T>()

Retourne l’exportation avec le nom de contrat dérivé du paramètre de type spécifié. S’il n’est pas exactement une exportation correspondante, une exception est levée.(Hérité de ExportProvider.)

System_CAPS_pubmethodGetExport<T>(String)

Retourne l’exportation avec le nom de contrat spécifié. S’il n’est pas exactement une exportation correspondante, une exception est levée.(Hérité de ExportProvider.)

System_CAPS_pubmethodGetExportedValue<T>()

Retourne l’objet exporté avec le nom de contrat dérivé du paramètre de type spécifié. S’il n’est pas exactement un seul objet exporté correspondant, une exception est levée.(Hérité de ExportProvider.)

System_CAPS_pubmethodGetExportedValue<T>(String)

Retourne l’objet exporté avec le nom de contrat spécifié. S’il n’est pas exactement un seul objet exporté correspondant, une exception est levée.(Hérité de ExportProvider.)

System_CAPS_pubmethodGetExportedValueOrDefault<T>()

Obtient l’objet exporté avec le nom de contrat dérivé du paramètre de type spécifié ou la valeur par défaut pour le type spécifié ou lève une exception s’il existe plusieurs correspondances d’objets exportés.(Hérité de ExportProvider.)

System_CAPS_pubmethodGetExportedValueOrDefault<T>(String)

Obtient l’objet exporté avec le nom de contrat spécifié ou la valeur par défaut pour le type spécifié ou lève une exception s’il existe plusieurs correspondances d’objets exportés.(Hérité de ExportProvider.)

System_CAPS_pubmethodGetExportedValues<T>()

Obtient tous les objets exportés avec le nom de contrat dérivé du paramètre de type spécifié.(Hérité de ExportProvider.)

System_CAPS_pubmethodGetExportedValues<T>(String)

Obtient tous les objets exportés avec le nom de contrat spécifié.(Hérité de ExportProvider.)

System_CAPS_pubmethodGetExports(ImportDefinition)

Obtient toutes les exportations qui correspondent aux conditions de la définition d’importation spécifiée.(Hérité de ExportProvider.)

System_CAPS_pubmethodGetExports(ImportDefinition, AtomicComposition)

Obtient toutes les exportations qui correspondent aux conditions de la définition d’importation spécifiée et la composition.(Hérité de ExportProvider.)

System_CAPS_pubmethodGetExports(Type, Type, String)

Obtient toutes les exportations avec le nom de contrat spécifié.(Hérité de ExportProvider.)

System_CAPS_pubmethodGetExports<T>()

Obtient toutes les exportations avec le nom de contrat dérivé du paramètre de type spécifié.(Hérité de ExportProvider.)

System_CAPS_pubmethodGetExports<T>(String)

Obtient toutes les exportations avec le nom de contrat spécifié.(Hérité de ExportProvider.)

System_CAPS_protmethodGetExportsCore(ImportDefinition, AtomicComposition)

Retourne une collection de toutes les exportations qui correspondent aux conditions spécifié ImportDefinition objet.(Remplace ExportProvider.GetExportsCore(ImportDefinition, AtomicComposition).)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_protmethodOnExportsChanged(ExportsChangeEventArgs)

Déclenche l'événement ExportsChanged.(Hérité de ExportProvider.)

System_CAPS_protmethodOnExportsChanging(ExportsChangeEventArgs)

Déclenche l'événement ExportsChanging.(Hérité de ExportProvider.)

System_CAPS_pubmethodReleaseExport(Export)

Libère le Export de l’objet à partir de la CompositionContainer.

System_CAPS_pubmethodReleaseExport<T>(Lazy<T>)

Supprime l’exportation spécifiée de la composition et libère ses ressources, si possible.

System_CAPS_pubmethodReleaseExports(IEnumerable<Export>)

Libère un jeu de Export des objets à partir de la CompositionContainer.

System_CAPS_pubmethodReleaseExports<T>(IEnumerable<Lazy<T>>)

Supprime une collection d’exportations de la composition et libère leurs ressources, si possible.

System_CAPS_pubmethodReleaseExports<T, TMetadataView>(IEnumerable<Lazy<T, TMetadataView>>)

Supprime une collection d’exportations de la composition et libère leurs ressources, si possible.

System_CAPS_pubmethodSatisfyImportsOnce(ComposablePart)

Satisfait les importations de spécifié ComposablePart objet sans l’enregistrer en vue de la recomposition.

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

System_CAPS_pubmethodTryGetExports(ImportDefinition, AtomicComposition, IEnumerable<Export>)

Obtient toutes les exportations qui correspondent aux conditions de l’importation spécifiée.(Hérité de ExportProvider.)

NomDescription
System_CAPS_pubeventExportsChanged

Se produit lorsque les exportations dans le ExportProvider Modifier.(Hérité de ExportProvider.)

System_CAPS_pubeventExportsChanging

Se produit lorsque les exportations fournies sont modifiées.(Hérité de ExportProvider.)

NomDescription
System_CAPS_pubmethodComposeExportedValue<T>(T)

Surchargé. Crée un composant à partir de la valeur spécifiée et le compose dans le conteneur de composition spécifié.(Défini par AttributedModelServices.)

System_CAPS_pubmethodComposeExportedValue<T>(String, T)

Surchargé. Crée un composant à partir de l’objet spécifié sous le nom de contrat spécifié et le compose dans le conteneur de composition spécifié.(Défini par AttributedModelServices.)

System_CAPS_pubmethodComposeParts(Object[])

Crée des composants composables à partir d’un tableau d’objets avec attributs et les compose dans le conteneur de composition spécifié.(Défini par AttributedModelServices.)

System_CAPS_pubmethodSatisfyImportsOnce(Object)

Surchargé. Compose le composant spécifié à l’aide du service de composition spécifié, avec la recomposition désactivée.(Défini par AttributedModelServices.)

System_CAPS_pubmethodSatisfyImportsOnce(Object, ReflectionContext)

Surchargé. Compose le composant spécifié en utilisant le service de composition spécifié, avec la recomposition désactivée et le contexte de réflexion spécifié.(Défini par AttributedModelServices.)

Un CompositionContainer objet a deux objectifs principaux dans une application. Tout d’abord, il effectue le suivi des parties sont disponibles pour la composition et leurs dépendances et exécute la composition chaque fois que l’ensemble des parties disponibles modifications. Ensuite, il fournit les méthodes auxquelles l’application obtient les instances des parties composées ou remplit les dépendances d’une partie composable.

System_CAPS_importantImportant

Ce type implémente le IDisposable interface. Lorsque vous avez fini d'utiliser le type, vous devez supprimer de celui-ci, directement ou indirectement. Pour supprimer le type directement, appelez sa Dispose méthode dans un try/catch bloc. Pour la supprimer indirectement, utiliser une construction de langage telles que using (en c#) ou Using (en Visual Basic). Pour plus d'informations, consultez la section « Utilisant un objet qui implémente IDisposable » dans la IDisposable rubrique de l'interface.

Parties peuvent être rendues disponibles pour le conteneur soit directement ou via la Catalog propriété. Toutes les parties détectables dans ce ComposablePartCatalog sont disponibles au conteneur pour accomplir des importations, ainsi que toutes les parties ajoutées directement.

Le Compose méthode autorise des parties instanciées à ajouter à un conteneur existant. En supposant que la composition est réussie, ces parties verront leurs importations remplies de parties extraites du conteneur et leurs exportations seront disponibles à d’autres parties. Les importations marquées comme étant recomposables seront enregistrées pour la recomposition.

Le SatisfyImportsOnce méthode permet une partie de ses importations remplies sans ajouté au conteneur. Si la composition est réussie, les importations du composant seront remplies, mais exportations du composant ne sera pas disponibles à d’autres parties et aucune importation ne sera inscrite pour la recomposition.

CompositionContainer les objets doivent toujours être supprimés. Lors de la Dispose méthode est appelée, le CompositionContainer objet supprime également toutes les parties qu’il a créées.

Un CompositionContainer objet sont accessibles à partir de plusieurs threads doit être construit avec le isThreadSafe paramètre la valeur true, en utilisant le CompositionContainer(ComposablePartCatalog, Boolean, ExportProvider[]) constructeur. Les performances seront légèrement plus lentes lorsque isThreadSafe est true, nous vous recommandons de définir ce paramètre sur false dans des scénarios monothread. La valeur par défaut est false.

System_CAPS_warningAvertissement

Un CompositionContainer doit jamais s’importer, ou une partie qui a une référence à celle-ci. Cette référence peut permettre à une partie non fiable d’accéder à toutes les parties dans le conteneur.

Dans l’exemple suivant, un CompositionContainer objet est initialisé avec un catalogue et est utilisé pour remplir les importations d’une partie. Cet exemple utilise le modèle de programmation par attributs.

[Export]
class MyAddin
{
    public String myData { get { return "The data!"; } }
}

class MyProgram
{
    [Import]
    public MyAddin myAddin { get; set; }
}


class Program
{
    static void Main(string[] args)
    {
        AggregateCatalog catalog = new AggregateCatalog();
        catalog.Catalogs.Add(new AssemblyCatalog(typeof(MyAddin).Assembly));
        CompositionContainer _container = new CompositionContainer(catalog);
        MyProgram myProgram = new MyProgram();
        _container.SatisfyImportsOnce(myProgram);
        Console.WriteLine(myProgram.myAddin.myData);
        Console.ReadLine();

        _container.Dispose();
    }
}

.NET Framework
Disponible depuis 4.0
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 4.0

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: