Store - класс
Содержит представление в памяти хранилища элементов и ссылок в одной или нескольких моделей.
Иерархия наследования
System.Object
Microsoft.VisualStudio.Modeling.Store
Пространство имен: Microsoft.VisualStudio.Modeling
Сборка: Microsoft.VisualStudio.Modeling.Sdk.11.0 (в Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)
Синтаксис
'Декларация
Public Class Store _
Implements IServiceProvider, IDisposable
public class Store : IServiceProvider, IDisposable
Тип Store предоставляет следующие члены.
Конструкторы
Имя | Описание | |
---|---|---|
Store(array<Type[]) | Инициализирует новый экземпляр класса Store. | |
Store(IServiceProvider, array<Type[]) | Инициализирует новый экземпляр класса Store. | |
Store(IServiceProvider, Dictionary<Object, Object>, array<Type[]) | Создает экземпляр класса делегатов реализации хранилища, IServiceProvider к данному serviceProvider. |
В начало страницы
Свойства
Имя | Описание | |
---|---|---|
ChangeSource | Возвращает текущий источник изменений для операций в хранилище. | |
CurrentContext | Возвращает текущий контекст хранилища. | |
DefaultPartition | Получает или задает стандартный раздел хранилища. | |
DemandLoading | Возвращает значение, указывающее, является ли сохранить в данный момент требование при загрузке связь. | |
Disposed | Возвращает был ли удален хранилище. | |
DomainDataDirectory | Возвращает каталог данных домена хранилища. | |
DomainModels | Возвращает коллекцию модели домена в данном хранилище. | |
ElementDirectory | Возвращает каталог элементов, содержащихся в хранилище. | |
ElementFactory | Возвращает фабрику элемента модели. | |
EventManagerDirectory | Возвращает каталог диспетчера событий для модели. | |
Id | Получает идентификатор магазина. | |
InRedo | Получает хранилище и проверяет, является ли вернуть текущий контекст хранилища. | |
InSerializationTransaction | Указывает, что хранилище присутствует в настоящий момент активную транзакцию сериализации в стеке транзакции | |
InUndo | Получает хранилище и проверяет, следует ли отменить текущий контекст хранилища. | |
InUndoRedoOrRollback | Получает хранилище и проверяет, является ли текущий контекст вернуть хранилища, отменить или откатить. | |
Partitions | Возвращает коллекцию объектов секции для магазина. | |
PartitionsAlternate | Возвращает разделы используется в хранилище. | |
PropertyBag | Возвращает контейнер свойств для магазина. | |
RuleManager | Получает диспетчер правила для магазина. | |
SerializerDirectory | По умолчанию каталог сериализации для данного магазина | |
ShuttingDown | Получает хранилище и проверяет деактивирует ли хранилище или задает состояние хранилища, как выключающ. | |
TransactionActive | Возвращает или задает значение, указывающее, имеет ли хранилище, а в настоящий момент активная транзакция. | |
TransactionLogs | Получает текущий список журналов транзакций для того магазина. | |
TransactionManager | Получает диспетчер транзакций для модели. | |
UndoManager | Возвращает UndoManager для контекста по умолчанию. | |
Version | Возвращает версию хранилища. |
В начало страницы
Методы
Имя | Описание | |
---|---|---|
AddMonikerResolver | Зарегистрируйте IMonikerResolver для определенной модели домена. | |
DefaultPartitionForClass | Возвращает раздел, в котором новые элементы заданного класса должен быть создан по умолчанию. | |
Dispose | Удаляет хранилище. | |
Equals | Определяет, равен ли заданный объект текущему объекту. (Унаследовано от Object.) | |
Finalize | Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.) | |
FindDomainModel | Находит модель домена по его идентификатору. | |
FindMonikerResolver | Находит IMonikerResolver зарегистрированные для указанной модели домена. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType) | Создается заполнитель группы элементов по умолчанию в подразделе данного типа закрытия, если список корневых элементов. | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType, Boolean) | Создается заполнитель группы элементов по умолчанию в разделе указанного типа закрытия с учетом список корневых элементов и обеспечивает пропуск загрузки требования. | |
GetDomainModel(Guid) | Возвращает экземпляр модели домена по его идентификатору. | |
GetDomainModel<T>() | Возвращает экземпляр указанного типа модели домена. | |
GetHashCode | Играет роль хэш-функции для определенного типа. (Унаследовано от Object.) | |
GetService | Получает службу. | |
GetType | Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.) | |
LoadDomainModels | Создает все данные домена для указанного списка модель домена. | |
MemberwiseClone | Создает неполную копию текущего объекта Object. (Унаследовано от Object.) | |
PopContext | Удаляет текущий контекст с верхней части стека. | |
PushContext | Публикует новый контекст на вершине стека контекста хранилища. | |
RegisterTransactionLog | Позволяет клиенту для регистрации в журнале транзакций, которая будет уведомляться событий на этом хранилище. | |
ToString | Возвращает строку, представляющую текущий объект. (Унаследовано от Object.) | |
UnregisterTransactionLog | Позволяет клиенту для отмены регистрации журнала транзакций принимать уведомления событий на этом хранилище. |
В начало страницы
События
Имя | Описание | |
---|---|---|
StoreDisposing | Происходит, когда хранилище удаляется. |
В начало страницы
Методы расширения
Имя | Описание | |
---|---|---|
GetLocks | Возвращает флаги блокировки для экземпляра хранилища (Определено в ImmutabilityExtensionMethods.) | |
IsLocked | Тест, имеет ли это хранилище любой из указанного набора блокирует (Определено в ImmutabilityExtensionMethods.) | |
SetLocks | Задайте флаги блокировки данного экземпляра хранилища (Определено в ImmutabilityExtensionMethods.) |
В начало страницы
Заметки
Хранилище содержит сведения об одной или нескольких моделей.Хранилище может содержать коллекцию моделей, как часто только одну модель в хранилище.
Хранилище также содержит метаданные о модели и сведения об экземплярах элементов и связей между элементами, составляющих эту модель.Метаданные содержат допустимые типы в модели и их связях.
Хранилище имеет несколько структур данных, которые заполняются при загрузке модели в хранилище.Это происходит в следующих случаях:
когда доменный язык был запущен как экспериментальном построении
после развертывания в доменный язык и пользователь начинает оно
при загрузке модели программным способом в хранилище
DomainDataDirectory содержит метаданные о типах, разрешенных для находиться в модели.
ElementDirectory содержит сведения о каждом экземпляре элемента и их связей.(Экземпляры в ElementDirectory для типов, определенных в DomainDataDirectory.)
Из хранилища, можно переходить к отдельным элементам в хранилище.Можно получить сведения об элементах или типов.Также можно выполнить следующие задачи:
добавление элементов
удаление элементов
изменение существующих элементов и ссылок и их свойств
При изменении хранилище, необходимо заключить любой код, который записывает к хранилищу в выражении Transaction.Можно отменить все изменения к хранилищу, сделанных в транзакции, выполнив a Rollback транзакции или не making a Commit транзакции.
Хранилище имеет a RuleManager содержит функциональность для подписки на правила.Хранилище также может подписаться на события.
Хранилище имеет также UndoManager содержит члены, которые позволяют отменить и повторить изменений в хранилище.Обычно не нужно создать новый экземпляр хранилища, хотя можно прочитать модель и в нее путем десериализации именно модель в новый экземпляр.Часто можно получить доступ к хранилищу из Store свойство элемента или ссылки в модели.Аргументы события правил и событий предоставляют экземпляр элемента или ссылки, к которому относится правило или событие, и его свойство хранилища для доступа к хранилищу и сво TransactionManager.
Примеры
В следующих примерах показаны различные способы создания хранилища.Если зависимости между доменом моделирует, как в третьем примере, модели домена должны быть указаны в порядке зависимости.
// 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));
Потокобезопасность
Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.
См. также
Ссылки
Microsoft.VisualStudio.Modeling - пространство имен
Другие ресурсы
[перенаправление] Доменная модель в генерируемом API
How to: Create Elements in Code
How to: Create Elements in Code
How to: Set or Get Domain Property Values