DirectoryCatalog DirectoryCatalog DirectoryCatalog DirectoryCatalog Class

Définition

Détecte les parties avec attributs dans les assemblys d’un répertoire spécifié.Discovers attributed parts in the assemblies in a specified directory.

public ref class DirectoryCatalog : System::ComponentModel::Composition::Primitives::ComposablePartCatalog, System::ComponentModel::Composition::Hosting::INotifyComposablePartCatalogChanged, System::ComponentModel::Composition::Primitives::ICompositionElement
public class DirectoryCatalog : System.ComponentModel.Composition.Primitives.ComposablePartCatalog, System.ComponentModel.Composition.Hosting.INotifyComposablePartCatalogChanged, System.ComponentModel.Composition.Primitives.ICompositionElement
type DirectoryCatalog = class
    inherit ComposablePartCatalog
    interface INotifyComposablePartCatalogChanged
    interface ICompositionElement
Public Class DirectoryCatalog
Inherits ComposablePartCatalog
Implements ICompositionElement, INotifyComposablePartCatalogChanged
Héritage
Implémente

Exemples

L’exemple suivant crée un DirectoryCatalog objet qui recherche dans le répertoire de l’application s’exécute pour les parties.The following example creates a DirectoryCatalog object that searches the directory the application runs from for parts. Il utilise une importation simple pour tester le catalogue.It uses a simple import to test the catalog. Pour satisfaire cette importation, une DLL dans le répertoire doit avoir une exportation correspondante, comme illustré dans le deuxième bloc de code.To fulfill this import, a DLL in the directory must have a matching export, as illustrated in the second code block.

public class Test2
{
    [Import]
    public Test1 data { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        DirectoryCatalog catalog = new DirectoryCatalog(".");
        CompositionContainer container = new CompositionContainer(catalog);
        Test2 test = new Test2();
        container.SatisfyImportsOnce(test);
        Console.WriteLine(test.data.data);
        Console.ReadLine();
    }
}
Public Class Test2
    <Import()>
    Public Property data As Test1
End Class

Sub Main()
    Dim catalog As New DirectoryCatalog(".")
    Dim container As New CompositionContainer(catalog)
    Dim test As New Test2()
    container.SatisfyImportsOnce(test)
    Console.WriteLine(test.data.data)
    Console.ReadLine()
End Sub

Pour créer l’exportation correspondante, le code suivant doit être dans un fichier DLL.To create the matching export, the following code must be in a DLL file. Pour créer un fichier DLL dans Visual Studio, ajoutez un nouveau projet de type « Bibliothèque de classes » à votre solution et placez ce code qu’il contient.To create a DLL file in Visual Studio, add a new project of the type "Class Library" to your solution, and place this code in it.

[Export]
public class Test1
{
    public String data = "The data!";
}
<Export()>
Public Class Test1
    Public ReadOnly Property data As String
        Get
            Return "The data!"
        End Get
    End Property
End Class

Remarques

Vous pouvez utiliser un DirectoryCatalog objet à analyser le contenu d’un répertoire désigné.You can use a DirectoryCatalog object to parse the contents of a designated directory. Toutes les parties avec attributs contenus dans les fichiers de bibliothèque (DLL) de liens dynamiques sont extraites et rendues disponibles via le catalogue. Pour limiter l’analyse à des DLL spécifiques, vous pouvez spécifier un modèle de recherche à l’aide de la même syntaxe que la Directory.GetFiles (méthode).Any attributed parts contained in dynamic link library (DLL) files are extracted and made available through the catalog.To restrict parsing to specific DLLs, you can specify a search pattern by using the same syntax as the Directory.GetFiles method.

Avertissement

Le répertoire désigné ne doit pas autoriser l’accès aux non administrateurs.The designated directory should not allow access to non-administrators. Par exemple, à l’aide d’un dossier qui contient les fichiers Internet temporaires peut créer des vulnérabilités dans votre application.For example, using a folder that contains temporary Internet files could create vulnerabilities in your application.

Ce type implémente le IDisposable interface.This type implements the IDisposable interface. Lorsque vous avez fini d’utiliser le type, vous devez supprimer il directement ou indirectement.When you have finished using the type, you should dispose of it either directly or indirectly. Pour supprimer le type directement, appelez sa Dispose méthode dans un try / catch bloc.To dispose of the type directly, call its Dispose method in a try/catch block. Pour supprimer indirectement, utiliser une construction de langage tel que using (en c#) ou Using (en Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Pour plus d’informations, consultez la section « À l’aide un objet qui implémente IDisposable » dans le IDisposable rubrique de l’interface.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Constructeurs

DirectoryCatalog(String) DirectoryCatalog(String) DirectoryCatalog(String) DirectoryCatalog(String)

Initialise une nouvelle instance de la classe DirectoryCatalog à l'aide d'objets ComposablePartDefinition basés sur tous les fichiers DLL accessibles selon le chemin d'accès au répertoire spécifié.Initializes a new instance of the DirectoryCatalog class by using ComposablePartDefinition objects based on all the DLL files in the specified directory path.

DirectoryCatalog(String, ICompositionElement) DirectoryCatalog(String, ICompositionElement) DirectoryCatalog(String, ICompositionElement) DirectoryCatalog(String, ICompositionElement)

Initialise une nouvelle instance de la classe DirectoryCatalog à l'aide d'objets ComposablePartDefinition selon tous les fichiers DLL dans le chemin d'accès au répertoire spécifié avec la source spécifiée pour les composants.Initializes a new instance of the DirectoryCatalog class by using ComposablePartDefinition objects based on all the DLL files in the specified directory path with the specified source for parts.

DirectoryCatalog(String, ReflectionContext) DirectoryCatalog(String, ReflectionContext) DirectoryCatalog(String, ReflectionContext) DirectoryCatalog(String, ReflectionContext)

Initialise une nouvelle instance de la classe DirectoryCatalog à l'aide d'objets ComposablePartDefinition selon tous les fichiers DLL dans le chemin d'accès au répertoire, dans le contexte de réflexion spécifié.Initializes a new instance of the DirectoryCatalog class by using ComposablePartDefinition objects based on all the DLL files in the specified directory path, in the specified reflection context.

DirectoryCatalog(String, ReflectionContext, ICompositionElement) DirectoryCatalog(String, ReflectionContext, ICompositionElement) DirectoryCatalog(String, ReflectionContext, ICompositionElement) DirectoryCatalog(String, ReflectionContext, ICompositionElement)

Initialise une nouvelle instance de la classe DirectoryCatalog à l’aide d’objets ComposablePartDefinition selon tous les fichiers DLL dans le chemin au répertoire, dans le contexte de réflexion spécifié.Initializes a new instance of the DirectoryCatalog class by using ComposablePartDefinition objects based on all the DLL files in the specified directory path, in the specified reflection context.

DirectoryCatalog(String, String) DirectoryCatalog(String, String) DirectoryCatalog(String, String) DirectoryCatalog(String, String)

Initialise une nouvelle instance de la classe DirectoryCatalog à l'aide d'objets ComposablePartDefinition qui correspondent à un modèle de recherche spécifié par le chemin d'accès au répertoire spécifié.Initializes a new instance of the DirectoryCatalog class by using ComposablePartDefinition objects that match a specified search pattern in the specified directory path.

DirectoryCatalog(String, String, ICompositionElement) DirectoryCatalog(String, String, ICompositionElement) DirectoryCatalog(String, String, ICompositionElement) DirectoryCatalog(String, String, ICompositionElement)

Initialise une nouvelle instance de la classe DirectoryCatalog à l'aide d'objets ComposablePartDefinition basés sur le modèle de recherche spécifié par le chemin d'accès au répertoire spécifié avec la source spécifiée pour les composants.Initializes a new instance of the DirectoryCatalog class by using ComposablePartDefinition objects based on the specified search pattern in the specified directory path with the specified source for parts.

DirectoryCatalog(String, String, ReflectionContext) DirectoryCatalog(String, String, ReflectionContext) DirectoryCatalog(String, String, ReflectionContext) DirectoryCatalog(String, String, ReflectionContext)

Initialise une nouvelle instance de la classe DirectoryCatalog à l'aide d'objets ComposablePartDefinition basés sur le modèle de recherche spécifié par le chemin d'accès au répertoire, à l'aide du contexte de réflexion spécifié.Initializes a new instance of the DirectoryCatalog class by using ComposablePartDefinition objects based on the specified search pattern in the specified directory path, using the specified reflection context.

DirectoryCatalog(String, String, ReflectionContext, ICompositionElement) DirectoryCatalog(String, String, ReflectionContext, ICompositionElement) DirectoryCatalog(String, String, ReflectionContext, ICompositionElement) DirectoryCatalog(String, String, ReflectionContext, ICompositionElement)

Initialise une nouvelle instance de la classe DirectoryCatalog à l'aide d'objets ComposablePartDefinition basés sur le modèle de recherche spécifié par le chemin d'accès au répertoire, à l'aide du contexte de réflexion spécifié.Initializes a new instance of the DirectoryCatalog class by using ComposablePartDefinition objects based on the specified search pattern in the specified directory path, using the specified reflection context.

Propriétés

FullPath FullPath FullPath FullPath

Obtient le chemin d'accès absolu converti observé par l'objet DirectoryCatalog.Gets the translated absolute path observed by the DirectoryCatalog object.

LoadedFiles LoadedFiles LoadedFiles LoadedFiles

Obtient la collection de fichiers actuellement chargée dans le catalogue.Gets the collection of files currently loaded in the catalog.

Parts Parts Parts Parts

Obtient les définitions de parties contenues dans le catalogue du répertoire.Gets the part definitions that are contained in the directory catalog.

Path Path Path Path

Obtient le chemin d'accès observé par l'objet DirectoryCatalog.Gets the path observed by the DirectoryCatalog object.

SearchPattern SearchPattern SearchPattern SearchPattern

Obtient le modèle de recherche passé dans le constructeur de l'objet DirectoryCatalog.Gets the search pattern that is passed into the constructor of the DirectoryCatalog object.

Méthodes

Dispose() Dispose() Dispose() Dispose()

Libère toutes les ressources utilisées par ComposablePartCatalog.Releases all resources used by the ComposablePartCatalog.

(Inherited from ComposablePartCatalog)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libère les ressources non managées utilisées par DirectoryCatalog et libère éventuellement les ressources managées.Releases the unmanaged resources used by the DirectoryCatalog and optionally releases the managed resources.

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

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Retourne un énumérateur qui itère au sein du catalogue.Returns an enumerator that iterates through the catalog.

GetExports(ImportDefinition) GetExports(ImportDefinition) GetExports(ImportDefinition) GetExports(ImportDefinition)

Obtient les définitions d'exportation qui correspondent à la contrainte exprimée par la définition d'importation spécifiée.Gets the export definitions that match the constraint expressed by the specified import definition.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

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

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
OnChanged(ComposablePartCatalogChangeEventArgs) OnChanged(ComposablePartCatalogChangeEventArgs) OnChanged(ComposablePartCatalogChangeEventArgs) OnChanged(ComposablePartCatalogChangeEventArgs)

Déclenche l'événement Changed.Raises the Changed event.

OnChanging(ComposablePartCatalogChangeEventArgs) OnChanging(ComposablePartCatalogChangeEventArgs) OnChanging(ComposablePartCatalogChangeEventArgs) OnChanging(ComposablePartCatalogChangeEventArgs)

Déclenche l'événement Changing.Raises the Changing event.

Refresh() Refresh() Refresh() Refresh()

Actualise les objets ComposablePartDefinition avec les fichiers les plus récents du répertoire qui correspondent au modèle de recherche.Refreshes the ComposablePartDefinition objects with the latest files in the directory that match the search pattern.

ToString() ToString() ToString() ToString()

Obtient une représentation sous forme de chaîne du catalogue de répertoire.Gets a string representation of the directory catalog.

Événements

Changed Changed Changed Changed

Se produit lorsque le contenu du catalogue a été modifié.Occurs when the contents of the catalog has changed.

Changing Changing Changing Changing

Se produit lorsque le catalogue est en cours de modification.Occurs when the catalog is changing.

Implémentations d’interfaces explicites

ICompositionElement.DisplayName ICompositionElement.DisplayName ICompositionElement.DisplayName ICompositionElement.DisplayName

Obtient le nom complet du catalogue de répertoire.Gets the display name of the directory catalog.

ICompositionElement.Origin ICompositionElement.Origin ICompositionElement.Origin ICompositionElement.Origin

Obtient l'élément de composition duquel le catalogue du répertoire provient.Gets the composition element from which the directory catalog originated.

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Retourne un énumérateur qui itère au sein du catalogue.Returns an enumerator that iterates through the catalog.

(Inherited from ComposablePartCatalog)

Méthodes d’extension

CreateCompositionService(ComposablePartCatalog) CreateCompositionService(ComposablePartCatalog) CreateCompositionService(ComposablePartCatalog) CreateCompositionService(ComposablePartCatalog)

Crée un service de composition à l'aide du catalogue spécifié en tant que source pour les exportations.Creates a new composition service by using the specified catalog as a source for exports.

Filter(ComposablePartCatalog, Func<ComposablePartDefinition,Boolean>) Filter(ComposablePartCatalog, Func<ComposablePartDefinition,Boolean>) Filter(ComposablePartCatalog, Func<ComposablePartDefinition,Boolean>) Filter(ComposablePartCatalog, Func<ComposablePartDefinition,Boolean>)

Filtre le catalogue spécifié avec la fonction de filtre spécifiée.Filters the specified catalog with the specified filter function.

CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>)

Retourne un DataTable qui contient des copies de la DataRow objets, étant données une entrée IEnumerable<T> objet où le paramètre générique T est DataRow.Returns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Copies DataRow objets spécifié DataTable, étant donné une entrée IEnumerable<T> objet où le paramètre générique T est DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Copies DataRow objets spécifié DataTable, étant donné une entrée IEnumerable<T> objet où le paramètre générique T est DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Active la parallélisation d'une requête.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Convertit un IEnumerable à un IQueryable.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>)

Retourne une collection d'éléments qui contient les ancêtres de chaque nœud de la collection source.Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName)

Retourne une collection d'éléments filtrée qui contient les ancêtres de chaque nœud de la collection source.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Seuls les éléments avec un XName correspondant sont inclus dans la collection.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>)

Retourne une collection des nœuds descendants de chaque document et élément de la collection source.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>)

Retourne une collection d'éléments qui contient les éléments descendants de tous les éléments et tous les documents de la collection source.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName)

Retourne une collection d'éléments filtrée qui contient les éléments descendants de tous les éléments et tous les documents de la collection source.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Seuls les éléments avec un XName correspondant sont inclus dans la collection.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>)

Retourne une collection des éléments enfants de chaque élément et document de la collection source.Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName)

Retourne une collection filtrée des éléments enfants de chaque élément et document de la collection source.Returns a filtered collection of the child elements of every element and document in the source collection. Seuls les éléments avec un XName correspondant sont inclus dans la collection.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>)

Retourne une collection de nœuds qui contient tous les nœuds de la collection source, triés selon l'ordre des documents.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>)

Retourne une collection des nœuds enfants de chaque document et élément de la collection source.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>)

Supprime chaque nœud de la collection source de son nœud parent.Removes every node in the source collection from its parent node.

S’applique à