Store – třída
Úložiště obsahuje v paměti zastoupení prvků a odkazy v jedné nebo více modelů.
Hierarchie dědičnosti
System.Object
Microsoft.VisualStudio.Modeling.Store
Obor názvů: Microsoft.VisualStudio.Modeling
Sestavení: Microsoft.VisualStudio.Modeling.Sdk.11.0 (v Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)
Syntaxe
'Deklarace
Public Class Store _
Implements IServiceProvider, IDisposable
public class Store : IServiceProvider, IDisposable
Typ Store zveřejňuje následující členy.
Konstruktory
Název | Popis | |
---|---|---|
Store(array<Type[]) | Vytvoří novou instanci třídy Store. | |
Store(IServiceProvider, array<Type[]) | Vytvoří novou instanci třídy Store. | |
Store(IServiceProvider, Dictionary<Object, Object>, array<Type[]) | Vytvoří instanci třídy úložiště, které deleguje objekt IServiceProvider provádění dané serviceProvider. |
Nahoru
Vlastnosti
Název | Popis | |
---|---|---|
ChangeSource | Získá aktuální změnit zdroj pro operace v úložišti. | |
CurrentContext | Načte aktuální kontext do úložiště. | |
DefaultPartition | Získá nebo nastaví výchozí oddíl pro úložiště. | |
DemandLoading | Získá, zda je úložiště aktuálně poptávky načítání vztah. | |
Disposed | Získá, zda byl uvolněn v úložišti. | |
DomainDataDirectory | Získá informace adresáře domény úložiště. | |
DomainModels | V tomto úložišti získá kolekce modelů domén. | |
ElementDirectory | Získá prvků obsažených v úložišti adresáře. | |
ElementFactory | Získá factory prvku modelu. | |
EventManagerDirectory | Získá správce adresáře událostí pro model. | |
Id | Načte ID úložiště. | |
InRedo | Získá úložiště a ověří, zda jsou do aktuální kontext úložiště je provést znovu. | |
InSerializationTransaction | Označuje, že je úložiště aktuálně aktivních serializace transakce v zásobníku transakce | |
InUndo | Získá úložiště a ověří, zda je vrací zpět aktuální kontext do úložiště. | |
InUndoRedoOrRollback | Získá úložiště a ověřuje znovu zda aktuální kontext úložiště je právě provedené, nebo vrátit zpět. | |
Partitions | Získá objekty kolekce oddíl pro úložiště. | |
PartitionsAlternate | Získá oddíly používané v úložišti. | |
PropertyBag | Získá balíku vlastností úložiště. | |
RuleManager | Získá správce pravidlo pro úložiště. | |
SerializerDirectory | Výchozí adresář serializace pro toto úložiště | |
ShuttingDown | Získá úložiště a ověří, zda úložiště je ukončována nebo nastaví stav úložiště jako vypnutí. | |
TransactionActive | Získá nebo nastaví, zda je úložiště aktuálně aktivních transakcí. | |
TransactionLogs | Načte aktuální seznam protokolů transakcí úložiště. | |
TransactionManager | Získá správce transakcí pro model. | |
UndoManager | Získává UndoManager pro výchozí kontext. | |
Version | Načte verzi v úložišti. |
Nahoru
Metody
Název | Popis | |
---|---|---|
AddMonikerResolver | Zaregistrovat IMonikerResolver pro model zadané domény. | |
DefaultPartitionForClass | Oddíl, do kterého má být vytvořena nové prvky určené třídy ve výchozím nastavení vrátíte. | |
Dispose | Odstraňuje úložiště. | |
Equals | Určuje, zda zadaný objekt je rovno aktuální objekt. (Zděděno z Object.) | |
Finalize | Umožňuje objekt při uvolnění prostředků a provádět jiné operace vyčištění, dříve, než je zažádáno systémem uvolňování paměti. (Zděděno z Object.) | |
FindDomainModel | Najde modelu domény podle ID. | |
FindMonikerResolver | Najde IMonikerResolver pro model zadaná doména zaregistrována. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType) | Vytvoří skupiny prototypu prvek v oddílu výchozí uzavření daného typu, pokud je zadán seznam kořenových prvků. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType, Boolean) | Vytvoří výchozí oddíl typu určeného uzavření při seznam kořenových prvků prvku skupiny prototypu a umožňuje vynechání poptávky načítání. | |
GetDomainModel(Guid) | Načte instance modelu domény podle ID. | |
GetDomainModel<T>() | Načte instance typu modelu zadané domény. | |
GetHashCode | Slouží jako funkci hash u určitého typu. (Zděděno z Object.) | |
GetService | Služba získá. | |
GetType | Získá Type aktuální instance. (Zděděno z Object.) | |
LoadDomainModels | Vytvoří všechna data domény určený seznam modelů domén. | |
MemberwiseClone | Vytvoří kopii aktuálního Object. (Zděděno z Object.) | |
PopContext | Odebere aktuální kontext mimo horní zásobník. | |
PushContext | Nový kontext tlačí na horní zásobník kontextu úložiště. | |
RegisterTransactionLog | Umožňuje klientovi registrovat protokol transakcí, který bude oznámeno událostí v tomto úložišti. | |
ToString | Vrátí řetězec, který představuje aktuální objekt. (Zděděno z Object.) | |
UnregisterTransactionLog | Umožňuje klientovi zrušit registraci protokolu transakcí z upozornění na události v tomto úložišti. |
Nahoru
Události
Název | Popis | |
---|---|---|
StoreDisposing | Dochází při úložiště je vyřazení. |
Nahoru
Rozšiřující metody
Název | Popis | |
---|---|---|
GetLocks | Získání zámku příznaky této instance úložiště (Definoval ImmutabilityExtensionMethods.) | |
IsLocked | Zda má toto úložiště všechny zadané množině zámky (Definoval ImmutabilityExtensionMethods.) | |
SetLocks | Nastavení příznaků zámek této instance úložiště (Definoval ImmutabilityExtensionMethods.) |
Nahoru
Poznámky
Úložiště obsahuje informace o jedné nebo více modelů.Úložiště může obsahovat kolekce modelů, přestože často je pouze jeden model v úložišti.
Úložiště obsahuje také metadat o modelu a informace o instancích prvků a vazeb mezi prvky modelu.Metadata obsahuje typy v modelu a jejich vztahy.
Úložiště má několik datových struktur, které jsou vyplněny při načtení modelu do úložiště.K tomu dochází v následujících případech:
Když domény specifické pro jazyk je spuštěno, buď jako experimentální sestavení
Pokud jste nasadili domény specifické pro jazyk a koncový uživatel spustí
Při načítání modelu programově do úložiště
DomainDataDirectory Obsahuje metadata o typy povolené v modelu.
ElementDirectory Obsahuje informace o jednotlivých instancí prvku a jejich propojení.(Instance ElementDirectory musí být podle typů DomainDataDirectory.)
Z úložiště můžete přejít na jednotlivé položky v úložišti.Můžete získat informace o prvky nebo typy.Můžete také provést následující úkoly:
Přidat položky
Odstranit položky
upravit existující prvky a jejich vlastnosti a odkazy
Při každé změně úložiště je nutné uzavřít jakýkoli kód, který zapisuje do úložiště v Transaction.Zrušit všechny změny provedené v transakci tím úložiště Rollback transakce, nebo to Commit transakce.
Úložiště byl RuleManager , která obsahuje funkci upsat pravidla.Úložiště můžete také přihlásit k odběru události.
Má také obchod UndoManager které má členy, které umožňují vrácení a opakované provedení změn v úložišti.Obecně není nutné vytvořit novou instanci úložiště, ale můžete a může číst modelu do něj rekonstrukci modelu do nové instance.Často získat přístup k úložišti z Store vlastnost prvek nebo odkaz v modelu.Argumenty událostí pravidel a události poskytují pravidlo nebo událost náležející k instanci prvek nebo odkaz a jeho vlastnost úložiště můžete použít pro přístup k úložišti a jeho TransactionManager.
Příklady
Následující příklady znázorňují různé způsoby vytvoření instance úložiště.Existují závislosti mezi modely domény, jako v třetím příkladu, který následuje, stanovit modelů domén v pořadí závislost.
// 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));
Bezpečný přístup z více vláken
Všechny veřejné členy static (Shared v jazyce Visual Basic) tohoto typu jsou bezpečné pro přístup z více vláken. Není zaručeno, že členy instancí jsou bezpečné pro přístup z více vláken.
Viz také
Referenční dokumentace
Microsoft.VisualStudio.Modeling – obor názvů
Další zdroje
[přesměrovat] Model domény generované rozhraní API
How to: Create Elements in Code
How to: Create Elements in Code
How to: Set or Get Domain Property Values