Store - класс
Хранилище содержит представление в памяти элементов и связей в одной или нескольких моделях.
Иерархия наследования
System.Object
Microsoft.VisualStudio.Modeling.Store
Пространство имен: Microsoft.VisualStudio.Modeling
Сборка: Microsoft.VisualStudio.Modeling.Sdk.12.0 (в Microsoft.VisualStudio.Modeling.Sdk.12.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[]) | Создает экземпляр класса Store, которые делегирует реализацию 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. Можно отменить все изменения в хранилище сделанному в транзакции, выполнив Rollback транзакции или не выполняя Commit транзакции.
Магазин имеет 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