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 | |
---|---|---|
Store(array<Type[]) | Initialisiert eine neue Instanz der Store-Klasse. | |
Store(IServiceProvider, array<Type[]) | Initialisiert eine neue Instanz der Store-Klasse. | |
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 | |
---|---|---|
ChangeSource | Ruft die aktuelle Änderungsquelle für Vorgänge im Speicher ab. | |
CurrentContext | Ruft den aktuellen Kontext des Speichers ab. | |
DefaultPartition | Ruft die Standardpartition für den Speicher ab oder legt sie fest. | |
DemandLoading | Ruft ab, ob der Speicher die Forderung ist, die eine Beziehung zu laden. | |
Disposed | Ruft ab, ob der Speicher freigegeben wurde. | |
DomainDataDirectory | Ruft das Domäneninformationsverzeichnis des angegebenen Speichers ab. | |
DomainModels | Ruft eine Auflistung von Domänenmodellen in diesem Speicher ab. | |
ElementDirectory | Ruft das Verzeichnis der Elemente ab, die im Speicher enthalten sind. | |
ElementFactory | Ruft die Elementfactory für das Modell ab. | |
EventManagerDirectory | Ruft das Ereignis-Manager-Verzeichnis für das Modell ab. | |
Id | Ruft die ID des Speichers ab. | |
InRedo | Ruft den Speicher ab und überprüft, ob der aktuelle Kontext des Speichers wiederholt wird. | |
InSerializationTransaction | Gibt an, dass der Speicher eine derzeit aktive Serialisierungstransaktion im Transaktionsstapel hat. | |
InUndo | Ruft den Speicher ab und überprüft, ob der aktuelle Kontext des Speichers rückgängig gemacht wird. | |
InUndoRedoOrRollback | Ruft den Speicher ab und überprüft, ob der aktuelle Kontext des Speichers wiederholt, rückgängig gemacht oder zurückgesetzt wird. | |
Partitions | Ruft die Auflistung der Partition-Objekte für den Speicher ab. | |
PartitionsAlternate | Ruft die Partitionen ab, die im Speicher verwendet werden. | |
PropertyBag | Ruft die Eigenschaftensammlung für den Speicher ab. | |
RuleManager | Ruft den Regel-Manager für den Speicher ab. | |
SerializerDirectory | Das Standardserialisierungsverzeichnis für diesen Speicher | |
ShuttingDown | Ruft den Speicher ab und überprüft, ob der Speicher beendet wird, oder legt den Zustand des Arbeitsspeichers als beendend fest. | |
TransactionActive | Ruft ab oder legt fest, ob der Speicher über eine derzeit aktive Transaktion verfügt. | |
TransactionLogs | Ruft die aktuelle Liste von Transaktionsprotokollen für den Speicher ab. | |
TransactionManager | Ruft des Transaktions-Managers für das Modell ab. | |
UndoManager | Ruft den UndoManager für den Standardkontext ab. | |
Version | Ruft die Version des Speichrs ab. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
AddMonikerResolver | Registrieren eines IMonikerResolver für das angegebene Domänenmodell. | |
DefaultPartitionForClass | Rückgabe der Partition, in die neue Elemente der angegebenen Klasse standardmäßig erstellt werden sollen. | |
Dispose | Gibt den Speicher frei. | |
Equals | Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.) | |
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.) | |
FindDomainModel | Sucht ein Domänenmodell durch seine ID. | |
FindMonikerResolver | Sucht den IMonikerResolver, der für das angegebene Domänenmodell registriert ist. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType) | Erstellt einen Elementgruppenprototyp in der Standardpartition des angegebenen Abschlusstyps, wenn eine Liste von Stammelementen angegeben wird. | |
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. | |
GetDomainModel(Guid) | Ruft eine Instanz eines Domänenmodells über seine ID ab. | |
GetDomainModel<T>() | Ruft eine Instanz eines angegebenen Domänenmodell-Typs ab. | |
GetHashCode | Fungiert als die Standardhashfunktion. (Von Object geerbt.) | |
GetService | Ruft einen Dienst ab. | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
LoadDomainModels | Erstellt alle Domänendaten für die angegebene Liste von Domänenmodellen. | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
PopContext | Entfernt den aktuellen Kontext aus der obersten Position des Stapels. | |
PushContext | Fügt einen neuen Kontext am oberen Rand des Speicherkontextstapels an. | |
RegisterTransactionLog | Ermöglicht es einem Client, ein Transaktionsprotokoll zu registrieren, das von Ereignissen in diesem Speicher benachrichtigt wird. | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) | |
UnregisterTransactionLog | Ermöglicht es einem Client, die Registrierung eines Transaktionsprotokolls aufzuheben, das von Ereignissen in diesem Speicher benachrichtigt wird. |
Zum Seitenanfang
Ereignisse
Name | Beschreibung | |
---|---|---|
StoreDisposing | Tritt ein, wenn der Speicher freigibt. |
Zum Seitenanfang
Erweiterungs methoden
Name | Beschreibung | |
---|---|---|
GetLocks | Ruft die Sperrflags für diese Speicherinstanz ab. (Durch ImmutabilityExtensionMethods definiert.) | |
IsLocked | Testen, ob dieser Speicher über eines angegebenen Sperrsätze verfügt (Durch ImmutabilityExtensionMethods definiert.) | |
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: Set or Get Domain Property Values