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 ストアに転送するクラスのインスタンスを作成します。 |
このページのトップへ
プロパティ
名前 | 説明 | |
---|---|---|
ChangeSource | ストアの操作の現在の変更のソースを取得します。 | |
CurrentContext | ストアの現在のコンテキストを取得します。 | |
DefaultPartition | ストアの既定のパーティションを取得または設定します。 | |
DemandLoading | ストアが現在関係を読み込む必要があるかどうかを取得します。 | |
Disposed | ストアが破棄されたかどうかを取得します。 | |
DomainDataDirectory | ストアのドメイン情報のディレクトリを取得します。 | |
DomainModels | このストアのドメイン モデルのコレクションを取得します。 | |
ElementDirectory | ストアに含まれる要素のディレクトリを取得します。 | |
ElementFactory | モデルの要素のファクトリを取得します。 | |
EventManagerDirectory | モデルのイベント マネージャーのディレクトリを取得します。 | |
Id | ストアの 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 | 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 | ストアを破棄すると発生します。 |
このページのトップへ
拡張メソッド
名前 | 説明 | |
---|---|---|
GetLocks | このストアのインスタンスのロックのフラグを取得します。 (ImmutabilityExtensionMethods によって定義されています。) | |
IsLocked | このストアにロックの指定された設定するかどうかをテストします。 (ImmutabilityExtensionMethods によって定義されています。) | |
SetLocks | このストアのインスタンスのロック フラグを設定します。 (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