Klasa Store
Magazyn zawiera reprezentację w pamięci elementów i łączy w jednej lub więcej modeli.
Hierarchia dziedziczenia
System.Object
Microsoft.VisualStudio.Modeling.Store
Przestrzeń nazw: Microsoft.VisualStudio.Modeling
Zestaw: Microsoft.VisualStudio.Modeling.Sdk.12.0 (w Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)
Składnia
'Deklaracja
Public Class Store _
Implements IServiceProvider, IDisposable
public class Store : IServiceProvider, IDisposable
Typ Store uwidacznia następujące elementy członkowskie.
Konstruktorzy
Nazwa | Opis | |
---|---|---|
Store(array<Type[]) | Inicjuje nowe wystąpienie Store klasy. | |
Store(IServiceProvider, array<Type[]) | Inicjuje nowe wystąpienie Store klasy. | |
Store(IServiceProvider, Dictionary<Object, Object>, array<Type[]) | Tworzy instancję klasy magazynu, który deleguje dostawca IServiceProvider wykonania danej serviceProvider. |
Początek
Właściwości
Nazwa | Opis | |
---|---|---|
ChangeSource | Pobiera bieżący Zmień źródło dla operacji w magazynie. | |
CurrentContext | Pobiera bieżący kontekst magazynu. | |
DefaultPartition | Zwraca lub ustawia domyślną partycję dla magazynu. | |
DemandLoading | Pobiera się, czy magazyn znajduje się obecnie na żądanie ładowania relacji. | |
Disposed | Pobiera się, czy magazyn został usunięty. | |
DomainDataDirectory | Pobiera informacje domeny katalogu magazynu. | |
DomainModels | Zwraca kolekcję modeli domen, w tym Sklepie. | |
ElementDirectory | Pobiera katalogu elementów znajdujących się w magazynie. | |
ElementFactory | Pobiera factory elementu modelu. | |
EventManagerDirectory | Pobiera directory Menedżer zdarzeń dla modelu. | |
Id | Pobiera identyfikator magazynu. | |
InRedo | Pobiera magazynu i sprawdza, czy bieżący kontekst magazynu jest ponowione. | |
InSerializationTransaction | Wskazuje, że magazyn ma transakcji serializacji aktualnie aktywnych w stosie transakcji | |
InUndo | Pobiera magazynu i sprawdza, czy bieżący kontekst magazynu jest cofnięte. | |
InUndoRedoOrRollback | Pobiera magazynu i sprawdza, czy bieżący kontekst magazynu jest czym ponowione, cofnąć lub walcowane Wstecz. | |
Partitions | Pobiera obiektów zbioru partycji dla magazynu. | |
PartitionsAlternate | Pobiera partycje, używane w magazynie. | |
PropertyBag | Pobiera zbiór właściwości dla magazynu. | |
RuleManager | Pobiera Menedżera reguł dla magazynu. | |
SerializerDirectory | Domyślny katalog serializacji dla tego Sklepu | |
ShuttingDown | Pobiera magazynu i weryfikuje, czy Magazyn jest zamykany lub ustawia stan magazynu jako zamykana. | |
TransactionActive | Pobiera lub ustawia, czy magazyn ma aktualnie aktywnych transakcji. | |
TransactionLogs | Pobiera bieżącą listę dzienniki transakcji magazynu. | |
TransactionManager | Pobiera Menedżera transakcji dla modelu. | |
UndoManager | Pobiera UndoManager w kontekście domyślnym. | |
Version | Pobiera wersji magazynu. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
AddMonikerResolver | Zarejestrować IMonikerResolver dla modelu określonej domeny. | |
DefaultPartitionForClass | Zwraca partycji, do którego należy utworzyć nowe elementy określonej klasy domyślnie. | |
Dispose | Zbywa magazynu. | |
Equals | Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone z Object). | |
Finalize | Umożliwia obiekt spróbuj zwolnić zasoby i wykonywania innych operacji oczyszczania przed jest odzyskane w procesie wyrzucania elementów bezużytecznych. (Odziedziczone z Object). | |
FindDomainModel | Wyszukuje modelu domeny według jego identyfikatora. | |
FindMonikerResolver | Wyszukuje IMonikerResolver zarejestrowanych dla modelu określonej domeny. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType) | Tworzy prototyp grupy elementu domyślną partycję zamknięcia danego typu, jeżeli określono listę elementów głównych. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType, Boolean) | Tworzy prototyp grupy element partycji domyślnej zamknięcia określonego typu, gdy wykaz głównych elementów i umożliwia pomijanie popytu załadunku. | |
GetDomainModel(Guid) | Pobiera wystąpienia modelu domeny według jego identyfikatora. | |
GetDomainModel<T>() | Pobiera wystąpienia typu model określonej domeny. | |
GetHashCode | Służy jako domyślnej funkcji mieszania. (Odziedziczone z Object). | |
GetService | Pobiera usługi. | |
GetType | Pobiera Type bieżącego wystąpienia. (Odziedziczone z Object). | |
LoadDomainModels | Tworzy wszystkie dane domeny dla określonej listy modeli domen. | |
MemberwiseClone | Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object). | |
PopContext | Usuwa bieżący kontekst off wierzchu stosu. | |
PushContext | Umieszcza nowy kontekst na górze stosu kontekstu magazynu. | |
RegisterTransactionLog | Umożliwia klientowi zarejestrować dziennika transakcji, który będzie powiadamiany o zdarzeniach w tym Sklepie. | |
ToString | Zwraca ciąg, który reprezentuje bieżący obiekt. (Odziedziczone z Object). | |
UnregisterTransactionLog | Umożliwia klientowi wyrejestrować dziennik transakcji powiadamiania o zdarzeniach w tym Sklepie. |
Początek
Zdarzenia
Nazwa | Opis | |
---|---|---|
StoreDisposing | Występuje, gdy sprzedaży/likwidacji magazynu. |
Początek
Metody rozszerzenia
Nazwa | Opis | |
---|---|---|
GetLocks | Get flagi blokady dla tego wystąpienia magazynu (Zdefiniowane przez ImmutabilityExtensionMethods). | |
IsLocked | Sprawdzić, czy ten magazyn ma żadnego określonego zestawu blokad (Zdefiniowane przez ImmutabilityExtensionMethods). | |
SetLocks | Ustawianie flag lock to wystąpienie magazynu (Zdefiniowane przez ImmutabilityExtensionMethods). |
Początek
Uwagi
Magazyn zawiera informacje dotyczące jednego lub kilku modeli.Sklep może zawierać zbiór modeli, chociaż często istnieje tylko jeden model w magazynie.
Zawiera także magazynu metadanych o modelu i informacje o instancjach elementów i powiązań między elementy wchodzące w skład tego modelu.Metadane zawierają typy dozwolone w modelu i ich relacji.
Magazyn ma kilka struktur danych, które są wypełnione, gdy model jest ładowany do magazynu.Dzieje się tak w następujących okolicznościach:
gdy uruchamiany jest język specyficzne dla domeny, albo jako doświadczalnych budowanie
Kiedy została wdrożona język specyficzne dla domeny i użytkownik końcowy uruchamia go
Podczas ładowania modelu programowo w magazynie
DomainDataDirectory Zawiera metadane dotyczące typów może być w modelu.
ElementDirectory Zawiera informacje dotyczące każdego wystąpienia elementu i ich łączy.(Wystąpień w ElementDirectory musi być typów zdefiniowanych w DomainDataDirectory.)
Z magazynu można przejść do poszczególnych zapasów w magazynie.Można uzyskać informacje dotyczące elementów lub typów.Można również wykonać następujące zadania:
Dodawanie elementów
usuwanie elementów
modyfikowanie istniejących elementów i łączy oraz ich właściwości
Przy każdej modyfikacji magazynu należy ująć każdy kod, który zapisuje do magazynu w Transaction.Można anulować wszystkie zmiany w magazynie, dokonane w transakcji poprzez to Rollback transakcji lub nie wykonując Commit transakcji.
Magazyn został RuleManager zawierający funkcje subskrybować zasady.Magazyn można również subskrybować zdarzenia.
Magazyn ma również UndoManager który posiada elementy członkowskie, które umożliwiają cofanie i ponawianie zmian w magazynie.Zazwyczaj nie trzeba utworzyć nowe wystąpienie magazynu, chociaż można i odczytywać modelu do niego przez deserializacji modelu do nowego wystąpienia.Często, uzyskać dostęp do magazynu, z Store właściwość elementu lub łącza w modelu.Argumenty zdarzeń zasad i zdarzenia zapewniają wystąpienia elementu lub łącze, które reguły lub zdarzenie dotyczy i jego właściwości magazynu można użyć, aby uzyskać dostępu do magazynu i jego TransactionManager.
Przykłady
W poniższych przykładach przedstawiono różne sposoby tworzenia wystąpień Sklepu.Gdy istnieją zależności między modelami domeny, jak w trzecim przykładzie, który następuje, modelach domen powinny być określone w kolejności zależność.
// 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));
Bezpieczeństwo wątku
Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.
Zobacz też
Informacje
Przestrzeń nazw Microsoft.VisualStudio.Modeling
Inne zasoby
[redirect] — model domeny w generowanym API
How to: Create Elements in Code
How to: Create Elements in Code
How to: Set or Get Domain Property Values