Поделиться через


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: Create Links in Code

How to: Set or Get Domain Property Values

How to: Delete Elements and Links Programmatically

How to: Undo and Redo Changes Made to the Store