Store クラス
ストアには、1 つ以上のモデルの、要素およびリンクのメモリ内表現が含まれます。
継承階層
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[]) | 指定した serviceProvider に IServiceProvider の実装を代行させる Store クラスのインスタンスを作成します。 |
このページのトップへ
プロパティ
名前 | 説明 | |
---|---|---|
ChangeSource | ストア内の操作の現在の変更ソースを取得します。 | |
CurrentContext | ストアの現在のコンテキストを取得します。 | |
DefaultPartition | ストアの既定のパーティションを取得または設定します。 | |
DemandLoading | ストアが現在、リレーションシップの読み込みを要求しているかどうかを取得します。 | |
Disposed | ストアが破棄されたかどうかを取得します。 | |
DomainDataDirectory | ストアのドメイン情報ディレクトリを取得します。 | |
DomainModels | このストアのドメイン モデルのコレクションを取得します。 | |
ElementDirectory | ストアに含まれている要素のディレクトリを取得します。 | |
ElementFactory | モデルの要素ファクトリを取得します。 | |
EventManagerDirectory | モデルのイベント マネージャーのディレクトリを取得します。 | |
Id | ストアの ID を取得します。 | |
InRedo | ストアを取得し、ストアの現在のコンテキストが再実行されているかどうかを確認します。 | |
InSerializationTransaction | ストアのトランザクション スタックに現在アクティブなシリアル化トランザクションがあることを示します | |
InUndo | ストアを取得し、ストアの現在のコンテキストが取り消されているかどうかを確認します。 | |
InUndoRedoOrRollback | ストアを取得し、ストアの現在のコンテキストが再実行されているか、取り消されているか、ロール バックされているかを確認します。 | |
Partitions | ストアの Partition オブジェクトのコレクションを取得します。 | |
PartitionsAlternate | ストアに使用されるパーティションを取得します。 | |
PropertyBag | ストアのプロパティ バッグを取得します。 | |
RuleManager | ストアの規則マネージャーを取得します。 | |
SerializerDirectory | このストアの既定のシリアル化ディレクトリ | |
ShuttingDown | ストアを取得し、ストアがシャットダウンしているかどうかを確認します。または、ストアの状態をシャットダウン中として設定します。 | |
TransactionActive | ストアに現在アクティブなトランザクションがあるかどうかを取得または設定します。 | |
TransactionLogs | ストアのトランザクション ログの現在の一覧を取得します。 | |
TransactionManager | モデルのトランザクション マネージャーを取得します。 | |
UndoManager | 既定のコンテキストの UndoManager を取得します。 | |
Version | ストアのバージョンを取得します。 |
このページのトップへ
メソッド
名前 | 説明 | |
---|---|---|
AddMonikerResolver | 指定したドメイン モデルの IMonikerResolver を登録します。 | |
DefaultPartitionForClass | 指定されたクラスの新しい要素を既定で作成する必要がある場所になるパーティションを返します。 | |
Dispose | ストアを破棄します。 | |
Equals | 指定のオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (Object から継承されます。) | |
Finalize | オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) | |
FindDomainModel | ID を指定してドメイン モデルを検索します。 | |
FindMonikerResolver | 指定したドメイン モデルに登録されている IMonikerResolver を検索します。 | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType) | ルート要素のリストが指定された場合に、指定されたクロージャ型の既定のパーティションに要素グループ プロトタイプを作成します。 | |
GetClosurePrototypeGroup(ICollection<ModelElement>, ClosureType, Boolean) | ルート要素のリストが指定された場合に、指定されたクロージャ型の既定のパーティションに要素グループ プロトタイプを作成し、要求の読み込みをバイパスできるようにします。 | |
GetDomainModel(Guid) | ID を指定してドメイン モデルのインスタンスを取得します。 | |
GetDomainModel<T>() | 指定したドメイン モデルの種類のインスタンスを取得します。 | |
GetHashCode | 既定のハッシュ関数として機能します。 (Object から継承されます。) | |
GetService | サービスを取得します。 | |
GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) | |
LoadDomainModels | 指定したドメイン モデル リストのすべてのデータ ドメインを作成します。 | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) | |
PopContext | スタックの最上位から現在のコンテキストを削除します。 | |
PushContext | ストア コンテキスト スタックの上部に新しいコンテキストをプッシュします。 | |
RegisterTransactionLog | クライアントがこのストアのイベントの通知を受け取るトランザクション ログを登録できるようにします。 | |
ToString | 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。) | |
UnregisterTransactionLog | クライアントがこのストアのイベントの通知を受け取るトランザクション ログの登録を解除できるようにします。 |
このページのトップへ
イベント
名前 | 説明 | |
---|---|---|
StoreDisposing | ストアによって破棄されるときに発生します。 |
このページのトップへ
Extension のメソッド
名前 | 説明 | |
---|---|---|
GetLocks | この Store インスタンスのロック フラグを取得します (ImmutabilityExtensionMethods によって定義されています。) | |
IsLocked | このストアに、指定した一連のロックがあるかどうかをテストします。 (ImmutabilityExtensionMethods によって定義されています。) | |
SetLocks | この Store インスタンスのロック フラグを設定します。 (ImmutabilityExtensionMethods によって定義されています。) |
このページのトップへ
解説
ストアは、一つ以上のモデルについて説明します。 ストアは、ストアには 1 種類のモデルがあるモデルのコレクションを含めることができます。
ストアは、そのモデルを構成する要素間の要素とリンクのインスタンスに関するモデルと情報に関する メタデータ が含まれます。 メタデータは、モデルおよびリレーションシップで使用される型が含まれています。
モデル ストアにそのストアに読み込まれるときに格納された複数のデータ構造体があります。 これは、次のような状況で発生する:
ドメイン固有言語を起動すると、実験用ビルドのいずれかとして
ドメイン固有言語とエンド ユーザーの起動を、配置したとき
ストアにモデルをプログラムによって読み込む場合
DomainDataDirectory はモデル内の型についてメタデータが含まれています。
ElementDirectory は、要素のインスタンスとリンクに関する情報が含まれます。(ElementDirectory のインスタンスは DomainDataDirectoryで定義されている型である必要があります)。
ストアから、ストアの各項目に移動できます。 要素または型に関する情報を取得できます。 また、次のタスクを実行できます。:
項目を追加します。
項目の削除
既存の要素およびリンク プロパティ変更します。
ストアを変更するたびに、Transactionにストアに書き込むコードを記述する必要があります。 トランザクションのストアへのすべての変更をトランザクションの Rollback を行うか、トランザクションの Commit をせずに、キャンセルできます。
規則をサブスクライブする機能を備えたストアに RuleManager があります。 ストアは、イベントをサブスクライブできます。
ストアへの変更を元に戻す、やり直すことを許可するメンバーを持つストアにも UndoManager があります。 モデルを読み込み、新しいインスタンスにモデルを逆シリアル化してできますが、一般にストアの新しいインスタンスを作成する必要はありません。 多くの場合、モデル要素またはリンクの Store のプロパティからストアへのアクセスを取得します。 規則とイベントのイベント引数は規則やイベントが関係する、ストアと TransactionManagerにアクセスするには、ストア内のプロパティを使用して要素やリンク インスタンスを提供します。
例
次の例は、ストアをインスタンス化するさまざまな方法を示します。 ドメイン間に依存関係がある場合の 3 番目の例では、ドメイン モデルは依存関係の順序で指定する必要がある、シミュレートします。
// 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 (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
参照
関連項目
Microsoft.VisualStudio.Modeling 名前空間
その他の技術情報
[リダイレクト] 生成済み API におけるドメイン モデル
How to: Create Elements in Code
How to: Create Elements in Code
How to: Set or Get Domain Property Values