Freigeben über


Store-Klasse

Der Speicher enthält eine speicherinterne Darstellung der Elemente und Links in einem oder mehreren Modellen.

Vererbungshierarchie

System.Object
  Microsoft.VisualStudio.Modeling.Store

Namespace:  Microsoft.VisualStudio.Modeling
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)

Syntax

'Declaration
Public Class Store _
    Implements IServiceProvider, IDisposable
public class Store : IServiceProvider, IDisposable

Der Store-Typ macht die folgenden Member verfügbar.

Konstruktoren

  Name Beschreibung
Öffentliche Methode Store(array<Type[]) Initialisiert eine neue Instanz der Store-Klasse.
Öffentliche Methode Store(IServiceProvider, array<Type[]) Initialisiert eine neue Instanz der Store-Klasse.
Öffentliche Methode Store(IServiceProvider, Dictionary<Object, Object>, array<Type[]) Erstellt eine Instanz der Store-Klasse, die die IServiceProvider-Implementierung an den angegebenen Diensterbringer delegiert.

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft ChangeSource Ruft die aktuelle Änderungsquelle für Vorgänge im Speicher ab.
Öffentliche Eigenschaft CurrentContext Ruft den aktuellen Kontext des Speichers ab.
Öffentliche Eigenschaft DefaultPartition Ruft die Standardpartition für den Speicher ab oder legt sie fest.
Öffentliche Eigenschaft DemandLoading Ruft ab, ob der Speicher die Forderung ist, die eine Beziehung zu laden.
Öffentliche Eigenschaft Disposed Ruft ab, ob der Speicher freigegeben wurde.
Öffentliche Eigenschaft DomainDataDirectory Ruft das Domäneninformationsverzeichnis des angegebenen Speichers ab.
Öffentliche Eigenschaft DomainModels Ruft eine Auflistung von Domänenmodellen in diesem Speicher ab.
Öffentliche Eigenschaft ElementDirectory Ruft das Verzeichnis der Elemente ab, die im Speicher enthalten sind.
Öffentliche Eigenschaft ElementFactory Ruft die Elementfactory für das Modell ab.
Öffentliche Eigenschaft EventManagerDirectory Ruft das Ereignis-Manager-Verzeichnis für das Modell ab.
Öffentliche Eigenschaft Id Ruft die ID des Speichers ab.
Öffentliche Eigenschaft InRedo Ruft den Speicher ab und überprüft, ob der aktuelle Kontext des Speichers wiederholt wird.
Öffentliche Eigenschaft InSerializationTransaction Gibt an, dass der Speicher eine derzeit aktive Serialisierungstransaktion im Transaktionsstapel hat.
Öffentliche Eigenschaft InUndo Ruft den Speicher ab und überprüft, ob der aktuelle Kontext des Speichers rückgängig gemacht wird.
Öffentliche Eigenschaft InUndoRedoOrRollback Ruft den Speicher ab und überprüft, ob der aktuelle Kontext des Speichers wiederholt, rückgängig gemacht oder zurückgesetzt wird.
Öffentliche Eigenschaft Partitions Ruft die Auflistung der Partition-Objekte für den Speicher ab.
Öffentliche Eigenschaft PartitionsAlternate Ruft die Partitionen ab, die im Speicher verwendet werden.
Öffentliche Eigenschaft PropertyBag Ruft die Eigenschaftensammlung für den Speicher ab.
Öffentliche Eigenschaft RuleManager Ruft den Regel-Manager für den Speicher ab.
Öffentliche Eigenschaft SerializerDirectory Das Standardserialisierungsverzeichnis für diesen Speicher
Öffentliche Eigenschaft ShuttingDown Ruft den Speicher ab und überprüft, ob der Speicher beendet wird, oder legt den Zustand des Arbeitsspeichers als beendend fest.
Öffentliche Eigenschaft TransactionActive Ruft ab oder legt fest, ob der Speicher über eine derzeit aktive Transaktion verfügt.
Öffentliche Eigenschaft TransactionLogs Ruft die aktuelle Liste von Transaktionsprotokollen für den Speicher ab.
Öffentliche Eigenschaft TransactionManager Ruft des Transaktions-Managers für das Modell ab.
Öffentliche Eigenschaft UndoManager Ruft den UndoManager für den Standardkontext ab.
Öffentliche Eigenschaft Version Ruft die Version des Speichrs ab.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode AddMonikerResolver Registrieren eines IMonikerResolver für das angegebene Domänenmodell.
Öffentliche Methode DefaultPartitionForClass Rückgabe der Partition, in die neue Elemente der angegebenen Klasse standardmäßig erstellt werden sollen.
Öffentliche Methode Dispose Gibt den Speicher frei.
Öffentliche Methode Equals Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte Methode Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche Methode FindDomainModel Sucht ein Domänenmodell durch seine ID.
Öffentliche Methode FindMonikerResolver Sucht den IMonikerResolver, der für das angegebene Domänenmodell registriert ist.
Öffentliche Methode GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType) Erstellt einen Elementgruppenprototyp in der Standardpartition des angegebenen Abschlusstyps, wenn eine Liste von Stammelementen angegeben wird.
Öffentliche Methode GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType, Boolean) Erstellt einen Elementgruppenprototyp in der Standardpartition des angegebenen Abschlusstyps, sofern eine Liste von Stammelementen vorhanden ist und die Umgehung des Ladens bei Bedarf ermöglicht.
Öffentliche Methode GetDomainModel(Guid) Ruft eine Instanz eines Domänenmodells über seine ID ab.
Öffentliche Methode GetDomainModel<T>() Ruft eine Instanz eines angegebenen Domänenmodell-Typs ab.
Öffentliche Methode GetHashCode Fungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche Methode GetService Ruft einen Dienst ab.
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche Methode LoadDomainModels Erstellt alle Domänendaten für die angegebene Liste von Domänenmodellen.
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode PopContext Entfernt den aktuellen Kontext aus der obersten Position des Stapels.
Öffentliche Methode PushContext Fügt einen neuen Kontext am oberen Rand des Speicherkontextstapels an.
Öffentliche Methode RegisterTransactionLog Ermöglicht es einem Client, ein Transaktionsprotokoll zu registrieren, das von Ereignissen in diesem Speicher benachrichtigt wird.
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche Methode UnregisterTransactionLog Ermöglicht es einem Client, die Registrierung eines Transaktionsprotokolls aufzuheben, das von Ereignissen in diesem Speicher benachrichtigt wird.

Zum Seitenanfang

Ereignisse

  Name Beschreibung
Öffentliches Ereignis StoreDisposing Tritt ein, wenn der Speicher freigibt.

Zum Seitenanfang

Erweiterungs methoden

  Name Beschreibung
Öffentliche Erweiterungsmethode GetLocks Ruft die Sperrflags für diese Speicherinstanz ab. (Durch ImmutabilityExtensionMethods definiert.)
Öffentliche Erweiterungsmethode IsLocked Testen, ob dieser Speicher über eines angegebenen Sperrsätze verfügt (Durch ImmutabilityExtensionMethods definiert.)
Öffentliche Erweiterungsmethode SetLocks Die Sperr-Flags dieser Store-Instanz festlegen (Durch ImmutabilityExtensionMethods definiert.)

Zum Seitenanfang

Hinweise

Der Speicher enthält Informationen über einen oder mehrere Modelle. Ein Speicher kann eine Auflistung von Modellen enthalten, obwohl es häufig lediglich ein Modell im Speicher vorhanden ist.

Der Speicher enthält auch Metadaten über ein Modell und die Informationen zu Instanzen der Elemente und der Links zwischen Elementen, die dieses Modell besteht. Metadaten enthält die Typen, die im Modell und in den Beziehungen zugelassen werden.

Der Speicherplatz verschiedene Datenstrukturen, die gefüllt werden, wenn ein Modell in den Speicher geladen wird. Dies ist unter folgenden Umständen auf:

  • wenn die domänenspezifische Sprache gestartet wird, entweder als experimenteller Build

  • wenn die domänenspezifische Sprache und Start eines Endbenutzers es bereitgestellt haben

  • wenn Sie ein Modell programmgesteuert in den Speicher laden

DomainDataDirectory enthält die Metadaten über die Typen, die berechtigt sind, um im Modell sind.

ElementDirectory enthält Informationen zu jeder Elementinstanz und ihren Links. (Die Instanzen in ElementDirectory müssen aus Typen sein, die in DomainDataDirectory definiert sind).

im Speicher können Sie einzelne Elemente im Speicher navigieren. Sie können Informationen über Elemente oder Typen abrufen. Sie können die folgenden Aufgaben ausführen:

  • fügen Sie Elemente hinzu

  • löschen Sie Elemente

  • Ändern Sie vorhandene Elemente und Links und deren Eigenschaften

Wenn Sie einen Speicher ändern, müssen Sie Code hinzufügen, der den Speicher in Transaction schreibt. Sie können alle Änderungen am Speicher abbrechen, der in einer Transaktion ausgeführt wird, indem Sie Rollback der Transaktion vorgehen oder indem Sie Commit der Transaktion ausführen.

Der Speicherplatz RuleManager, der Funktionen verfügt, die Regeln zu abonnieren. Der Speicher kann auch Ereignisse abonnieren.

Der Speicherplatz auch UndoManager, der Member hat, die es Ihnen ermöglicht, Änderungen am Speicher rückgängig zu machen und zu überprüfen. Sie im Allgemeinen müssen eine neue Instanz eines Speichers nicht erstellen, obwohl Sie ein Modell in gelesen können, indem Sie ein Modell in die neue Instanz deserialisieren. Häufig rufen Sie Zugriff auf den Speicher von der Store-Eigenschaft eines Elements oder den Links im Modell ab. Die Ereignisargumente von Regeln und Ereignisse stellen die abhängigen oder Linkinstanz, die die Regel oder das Ereignis bezieht, und Sie können seine Speichereigenschaft verwenden, um den Speicher und auf das TransactionManager zugreifen.

Beispiele

Die folgenden Beispiele zeigen verschiedene Möglichkeiten, einen Speicher zu instanziieren. Wenn es die Abhängigkeiten zwischen Domänenmodellen gibt, wie im dritten Beispiel, das folgt, sollten die Domänenmodelle in der Reihenfolge der Abhängigkeit angegeben sind.

// 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));

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

Microsoft.VisualStudio.Modeling-Namespace

Weitere Ressourcen

[umleiten] Domänenmodell in der generierten API

How to: Create Elements in Code

How to: Create Elements in Code

How to: Create Links in Code

How to: Set or Get Domain Property Values

How to: Delete Elements and Links Programmatically

How to: Undo and Redo Changes Made to the Store