Classe Store
Archivio contenente una rappresentazione in memoria degli elementi e dei collegamenti in uno o più modelli.
Gerarchia di ereditarietà
System.Object
Microsoft.VisualStudio.Modeling.Store
Spazio dei nomi: Microsoft.VisualStudio.Modeling
Assembly: Microsoft.VisualStudio.Modeling.Sdk.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)
Sintassi
'Dichiarazione
Public Class Store _
Implements IServiceProvider, IDisposable
public class Store : IServiceProvider, IDisposable
Il tipo Store espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
Store(array<Type[]) | Inizializza una nuova istanza della classe Store. | |
Store(IServiceProvider, array<Type[]) | Inizializza una nuova istanza della classe Store. | |
Store(IServiceProvider, Dictionary<Object, Object>, array<Type[]) | Crea un'istanza della classe Store che delega l'implementazione di IServiceProvider al serviceProvider specificato. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
ChangeSource | Ottiene l'origine della modifica corrente per le operazioni nell'archivio. | |
CurrentContext | Ottiene il contesto corrente dell'archivio. | |
DefaultPartition | Ottiene o imposta la partizione predefinita per l'archivio. | |
DemandLoading | Ottiene se l'archivio sta attualmente caricando su richiesta una relazione. | |
Disposed | Ottiene se l'archivio è stato eliminato. | |
DomainDataDirectory | Ottiene la directory delle informazioni di dominio dell'archivio. | |
DomainModels | Ottiene una raccolta di modelli di dominio in questo archivio. | |
ElementDirectory | Ottiene la directory di elementi contenuti all'interno dell'archivio. | |
ElementFactory | Ottiene la factory dell'elemento per il modello. | |
EventManagerDirectory | Ottiene la directory del gestore degli eventi per il modello. | |
Id | Ottiene l'ID dell'archivio. | |
InRedo | Ottiene l'archivio e verifica se il contesto corrente dell'archivio è sottoposto a operazioni di ripetizione. | |
InSerializationTransaction | Indica che l'archivio ha una transazione di serializzazione correntemente attiva nello stack di transazione | |
InUndo | Ottiene l'archivio e verifica se il contesto corrente dell'archivio è sottoposto a operazioni di annullamento. | |
InUndoRedoOrRollback | Ottiene l'archivio e verifica se il contesto corrente dell'archivio è sottoposto a operazioni di ripetizione, annullamento o rollback. | |
Partitions | Ottiene la raccolta di oggetti Partition per l'archivio. | |
PartitionsAlternate | Ottiene le partizioni utilizzate nell'archivio. | |
PropertyBag | Ottiene il contenitore delle proprietà per l'archivio. | |
RuleManager | Ottiene il gestore delle regole per l'archivio. | |
SerializerDirectory | La directory di serializzazione predefinita per questo archivio | |
ShuttingDown | Ottiene l'archivio e verifica se l'archivio è in fase di chiusura oppure imposta lo stato dell'archivio come in chiusura. | |
TransactionActive | Ottiene o imposta se l'archivio dispone di una transazione attualmente attiva. | |
TransactionLogs | Ottiene l'elenco corrente dei log delle transazioni per l'archivio. | |
TransactionManager | Ottiene il gestore delle transazioni per il modello. | |
UndoManager | Ottiene UndoManager per il contesto predefinito. | |
Version | Ottiene la versione dell'archivio. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
AddMonikerResolver | Registrare un oggetto IMonikerResolver per il modello di dominio specificato. | |
DefaultPartitionForClass | Restituisce la partizione in cui i nuovi elementi della classe specificata devono essere creati per impostazione predefinita. | |
Dispose | Elimina l'archivio. | |
Equals | Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object) | |
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) | |
FindDomainModel | Trova un modello di dominio mediante il relativo ID. | |
FindMonikerResolver | Trova l'elemento IMonikerResolver registrato per il modello di dominio specificato. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType) | Crea un prototipo del gruppo dell'elemento nella partizione predefinita del tipo di chiusura specificato se viene specificato un elenco di elementi radice. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType, Boolean) | Crea un prototipo del gruppo di elementi nella partizione predefinita del tipo di chiusura specificato se viene specificato un elenco di elementi radice e consente di ignorare il caricamento su richiesta. | |
GetDomainModel(Guid) | Ottiene un'istanza di un modello di dominio in base al relativo ID. | |
GetDomainModel<T>() | Ottiene un'istanza di un tipo di modello di dominio specificato. | |
GetHashCode | Funge da funzione hash predefinita. (Ereditato da Object) | |
GetService | Ottiene un servizio. | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
LoadDomainModels | Crea tutti i dati del dominio per l'elenco specificato dei modelli di dominio. | |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) | |
PopContext | Rimuove il contesto corrente dalla parte superiore dello stack. | |
PushContext | Inserisce un nuovo contesto all'inizio dello stack di contesto dell'archivio. | |
RegisterTransactionLog | Consente a un client di registrare un log delle transazioni a cui verrà inviata una notifica degli eventi nell'archivio. | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) | |
UnregisterTransactionLog | Consente a un client di annullare la registrazione di un log delle transazioni affinché non gli vengano più inviate notifiche degli eventi nell'archivio. |
In alto
Eventi
Nome | Descrizione | |
---|---|---|
StoreDisposing | Si verifica all'eliminazione dell'archivio. |
In alto
Metodi di estensione
Nome | Descrizione | |
---|---|---|
GetLocks | Ottiene i flag di blocco per l'istanza di Store (Definito da ImmutabilityExtensionMethods). | |
IsLocked | Verifica se l'archivio ha un set specificato di blocchi (Definito da ImmutabilityExtensionMethods). | |
SetLocks | Impostare i contrassegni di blocco di questa istanza di Store (Definito da ImmutabilityExtensionMethods). |
In alto
Note
L'archivio contiene informazioni su uno o più modelli. Un archivio può contenere una raccolta di modelli, sebbene spesso esista un modello nell'archivio.
L'archivio contiene inoltre i metadati relativi a un modello e informazioni sulle istanze degli elementi e dei collegamenti tra elementi che costituiscono tale modello. I metadati contengono i tipi consentiti nel modello e relative relazioni.
L'archivio dispone di molte strutture di dati che vengano rispettate quando viene caricato un modello nell'archivio. Ciò si verifica nelle seguenti circostanze:
quando il linguaggio specifico di dominio, viene attivato uno come compilazione sperimentale
dopo aver distribuito i il linguaggio specifico di dominio e avvio di un utente finale
quando si carica un modello a livello di codice nell'archivio
DomainDataDirectory contiene i metadati sui tipi può essere nel modello.
ElementDirectory contiene informazioni su ogni istanza di un elemento e i relativi collegamenti. (Le istanze in ElementDirectory devono essere tipi definiti in DomainDataDirectory).
Dall'archivio, è possibile passare ai singoli elementi nell'archivio. È possibile ottenere informazioni sugli elementi o i tipi. È possibile eseguire le attività seguenti:
aggiungere elementi
eliminare gli elementi
modificare gli elementi esistenti e collegamenti e le relative proprietà
Ogni volta che si modifica un archivio, è necessario racchiudere il codice che scrive nell'archivio in Transaction. È possibile annullare tutte le modifiche all'archivio eseguito in una transazione utilizzando Rollback della transazione o non è Commit della transazione.
L'archivio è RuleManager che contiene funzionalità per sottoscrivere le regole. L'archivio è possibile sottoscrivere gli eventi.
L'archivio dispone anche di UndoManager con membri che consentono di annullare e iterazioni modifiche all'archivio. Non è in genere necessario creare una nuova istanza di un archivio, sebbene sia possibile e sia possibile leggere un modello in deserializzando un modello nella nuova istanza. Spesso, si otterrà l'accesso all'archivio dalla proprietà di Store di un elemento o un collegamento nel modello. Argomenti delle regole e degli eventi forniscono all'istanza di collegamento o dell'elemento cui la regola o l'evento riguarda ed è possibile utilizzare la proprietà dell'archivio per accedere all'archivio e il relativo TransactionManager.
Esempi
Negli esempi seguenti vengono illustrati diversi modi per creare un'istanza di un archivio. Quando esistono dipendenze tra i modelli di dominio, come nel terzo esempio che segue, i modelli di dominio devono essere specificati per dipendenza.
// 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));
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.VisualStudio.Modeling
Altre risorse
[reindirizzamento] Modello di dominio nell'API generata
How to: Create Elements in Code
How to: Create Elements in Code
How to: Set or Get Domain Property Values