Store, classe
Le magasin contient une représentation en mémoire des éléments et des liens dans un ou plusieurs modèles.
Hiérarchie d'héritage
System.Object
Microsoft.VisualStudio.Modeling.Store
Espace de noms : Microsoft.VisualStudio.Modeling
Assembly : Microsoft.VisualStudio.Modeling.Sdk.12.0 (dans Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)
Syntaxe
'Déclaration
Public Class Store _
Implements IServiceProvider, IDisposable
public class Store : IServiceProvider, IDisposable
Le type Store expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
Store(array<Type[]) | Initialise une nouvelle instance de la classe Store. | |
Store(IServiceProvider, array<Type[]) | Initialise une nouvelle instance de la classe Store. | |
Store(IServiceProvider, Dictionary<Object, Object>, array<Type[]) | Crée une instance de la classe Store qui délègue l'implémentation d'IServiceProvider au Serviceprovider donné. |
Début
Propriétés
Nom | Description | |
---|---|---|
ChangeSource | Obtient la source de modification actuelle pour les opérations du magasin. | |
CurrentContext | Obtient le contexte actuel du magasin. | |
DefaultPartition | Obtient ou définit la partition par défaut pour le magasin. | |
DemandLoading | Obtient une valeur indiquant si le magasin est actuellement en chargement à la demande d'une relation. | |
Disposed | Obtient une valeur indiquant si le magasin a été supprimé. | |
DomainDataDirectory | Obtient le répertoire d'informations de domaine du magasin. | |
DomainModels | Obtient une collection de modèles de domaine dans ce magasin. | |
ElementDirectory | Obtient le répertoire des éléments contenus dans le magasin. | |
ElementFactory | Obtient la fabrique d'éléments pour le modèle. | |
EventManagerDirectory | Obtient le répertoire du gestionnaire d'événements pour le modèle. | |
Id | Obtient l'ID du magasin. | |
InRedo | Obtient le magasin et vérifie si le contexte actuel du magasin est rétabli. | |
InSerializationTransaction | Indique que le magasin dispose d'une transaction de sérialisation actuellement active dans la pile de transaction | |
InUndo | Obtient le magasin et vérifie si le contexte actuel du magasin est annulé. | |
InUndoRedoOrRollback | Obtient le magasin et vérifie si le contexte actuel du magasin est rétabli, annulé, ou restauré. | |
Partitions | Obtient la collection d'objets Partition pour le magasin. | |
PartitionsAlternate | Obtient les partitions utilisées dans le magasin. | |
PropertyBag | Obtient le conteneur de propriétés pour le magasin. | |
RuleManager | Obtient le gestionnaire de règles pour le magasin. | |
SerializerDirectory | Répertoire de sérialisation par défaut pour ce magasin | |
ShuttingDown | Obtient le magasin et vérifie si le magasin s'arrête, ou définit l'état du magasin en cours d'arrêt. | |
TransactionActive | Obtient ou définit une valeur indiquant si le magasin dispose actuellement d'une transaction active. | |
TransactionLogs | Obtient la liste actuelle des journaux de transactions pour le magasin. | |
TransactionManager | Obtient le gestionnaire de transactions pour le modèle. | |
UndoManager | Obtient le UndoManager pour le contexte par défaut. | |
Version | Obtient la version du magasin. |
Début
Méthodes
Nom | Description | |
---|---|---|
AddMonikerResolver | Enregistre un IMonikerResolver pour le modèle de domaine spécifié. | |
DefaultPartitionForClass | Retourne la partition dans laquelle de nouveaux éléments de la classe spécifiée doivent être créés par défaut. | |
Dispose | Supprime le magasin. | |
Equals | Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.) | |
Finalize | 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.) | |
FindDomainModel | Recherche un modèle de domaine par son ID. | |
FindMonikerResolver | Recherche IMonikerResolver enregistré pour le modèle de domaine spécifié. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType) | Crée un prototype de groupe d'éléments dans la partition par défaut du type de fermeture donné si une liste d'éléments racines est spécifiée. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType, Boolean) | Crée un prototype de groupe d'éléments dans la partition par défaut du type de fermeture spécifié en fonction d'une liste d'éléments racines et permet d'ignorer le chargement de demande. | |
GetDomainModel(Guid) | Obtient une instance d'un modèle de domaine par son ID. | |
GetDomainModel<T>() | Obtient une instance d'un type de modèle de domaine spécifié. | |
GetHashCode | Sert de fonction de hachage par défaut. (Hérité de Object.) | |
GetService | Obtient un service. | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
LoadDomainModels | Crée toutes les données de domaine pour la liste de modèles de domaine spécifiée. | |
MemberwiseClone | Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.) | |
PopContext | Supprime le contexte actuel du haut de la pile. | |
PushContext | Exécute un push sur un nouveau contexte pour l'envoyer en haut de la pile de contexte du magasin. | |
RegisterTransactionLog | Permet à un client d'enregistrer un journal de transactions qui sera notifié des événements sur ce magasin. | |
ToString | Retourne une chaîne qui représente l'objet actif. (Hérité de Object.) | |
UnregisterTransactionLog | Permet à un client d'annuler l'enregistrement d'un journal de transactions recevant les notifications à propos des événements sur ce magasin. |
Début
Événements
Nom | Description | |
---|---|---|
StoreDisposing | Se produit lorsque le magasin est en cours de suppression. |
Début
Méthodes d'extension
Nom | Description | |
---|---|---|
GetLocks | Obtient les indicateurs de verrou de cette instance de magasin. (Défini par ImmutabilityExtensionMethods.) | |
IsLocked | Teste si ce magasin possède l'un des jeux de verrous spécifiés (Défini par ImmutabilityExtensionMethods.) | |
SetLocks | Définit les indicateurs de verrou de cette instance Store (Défini par ImmutabilityExtensionMethods.) |
Début
Notes
Magasin contient des informations sur un ou plusieurs modèles. Une banque peut contenir une collection de modèles, même si souvent qu'un seul modèle dans le magasin.
Magasin contient également les métadonnées d'un modèle et des informations sur les instances des éléments et des liens entre les éléments qui composent ce modèle. Les métadonnées contiennent des types autorisés dans le modèle et leurs relations.
Magasin a plusieurs structures de données qui sont remplies lorsqu'un modèle est chargé dans le magasin. Ceci se produit dans les circonstances suivantes :
lorsque le langage de spécifiques au domaine est lancé, soit comme génération expérimentale
lorsque vous avez déployé votre langage de spécifiques au domaine et lance d'un utilisateur final il
lorsque vous chargez un programme de modèle dans le magasin
DomainDataDirectory contient des métadonnées sur les types autorisés soient au modèle.
ElementDirectory contient des informations sur chaque instance de l'élément et leurs liens. (Les instances dans ElementDirectory doivent être de types définis dans DomainDataDirectory.)
Du magasin, vous pouvez accéder aux éléments individuels dans le magasin. Vous pouvez obtenir des informations sur les éléments de type ou. Vous pouvez également effectuer les tâches suivantes :
ajouter des éléments
supprimez des éléments
modifier des éléments existants et les liens et leurs propriétés
Lorsque vous modifiez un magasin, vous devez placer tout code qui écrit dans le magasin de Transaction. Vous pouvez annuler toutes les modifications apportées au magasin effectuée à partir d'une transaction en faisant Rollback de la transaction ou en ne faisant pas Commit de la transaction.
Magasin a RuleManager qui contient la fonctionnalité de s'abonner aux règles. La banque peut également s'abonner aux événements.
Magasin a également UndoManager qui contient les membres qui vous permettent d'annuler et rétablir des modifications dans le magasin. En général vous ne devez pas créer une instance d'un magasin, bien que vous puissiez et pouvoir lire un modèle dans est en désérialisant un modèle dans la nouvelle instance. Souvent, vous obtenez l'accès à la banque de la propriété d'Store d'un élément ou d'un lien dans le modèle. Arguments d'événement des règles et des événements fournissent l'instance de l'élément ou de lien laquelle la règle ou l'événement lignes, et vous pouvez utiliser la propriété de magasin pour accéder au magasin et son TransactionManager.
Exemples
Les exemples suivants montrent différentes manières d'instancier un magasin. Lorsqu'il existe des dépendances entre le champ modèle, comme dans le troisième exemple qui suit, les modèles de domaine doivent être spécifiés par ordre de dépendance.
// Create a store with your domain models (classes in the generated
// code derived from Microsoft.VisualStudio.Modeling.DomainModel).
Store store = new Store(typeof(ActivityDomainModel));
// Domain models can be loaded into the store after construction.
// Be sure to call store.Dispose() when you are done with it.
Store store2 = new Store();
Store2.LoadDomainModels(typeof(ActivityDomainModel));
// Multiple domain models can be loaded into the store at once
Store store3 = new Store(typeof(BaseActivityDomainModel), typeof(ExtendedActivityDomainModel));
Sécurité des threads
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.
Voir aussi
Référence
Microsoft.VisualStudio.Modeling, espace de noms
Autres ressources
[redirection] Modèle de domaine de l'API générée
How to: Create Elements in Code
How to: Create Elements in Code
How to: Set or Get Domain Property Values