ValidationContext クラス
実行中の現在の検証処理に関する情報を格納します。
継承階層
System.Object
Microsoft.VisualStudio.Modeling.Validation.ValidationContext
Microsoft.VisualStudio.Modeling.Shell.VsValidationContext
名前空間: Microsoft.VisualStudio.Modeling.Validation
アセンブリ: Microsoft.VisualStudio.Modeling.Sdk.12.0 (Microsoft.VisualStudio.Modeling.Sdk.12.0.dll 内)
構文
'宣言
Public Class ValidationContext
public class ValidationContext
ValidationContext 型で公開されるメンバーは以下のとおりです。
コンストラクター
名前 | 説明 | |
---|---|---|
ValidationContext(array<String[], ModelElement) | 検証する特定のモデル要素を持つ ValidationContext クラスの新しいインスタンスを初期化します。 | |
ValidationContext(array<String[], IEnumerable<ModelElement>) | Ctor | |
ValidationContext(ValidationCategories, ModelElement) | コンストラクター | |
ValidationContext(ValidationCategories, IEnumerable<ModelElement>) | コンストラクター |
このページのトップへ
プロパティ
名前 | 説明 | |
---|---|---|
Categories | この検証コンテキストの検証カテゴリを取得します。 | |
CurrentViolations | 検証コンテキストの検証メッセージのコレクションを取得します。 | |
CustomCategories | 検証コンテキストのカスタム検証文字列を取得します。 | |
ValidationSubjects | 検証するモデル要素の一覧を取得します。 |
このページのトップへ
メソッド
名前 | 説明 | |
---|---|---|
ConstructValidationMessage | 検証メッセージを作成します。このメソッドをオーバーライドして、カスタム検証メッセージを生成できます。 | |
Equals | 指定のオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (Object から継承されます。) | |
Finalize | オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) | |
GetCache<T>() | 指定したクラスのキャッシュを取得します。 | |
GetCache<T>(String) | 指定したクラスのキャッシュを取得します。 | |
GetHashCode | 既定のハッシュ関数として機能します。 (Object から継承されます。) | |
GetNavigationProxyModelElements | モデルで検証エラーが発生したときにプロキシ モデル要素を取得します。 | |
GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) | |
LogError | 検証エラーを作成し、検証コンテキストが保持するコレクションにメッセージを記録します。 | |
LogFatal | 検証の致命的なエラーを作成し、検証コンテキストにメッセージを記録します。 | |
LogMessage | 検証情報メッセージを作成し、検証コンテキストが保持するコレクションにそれを記録します。 | |
LogViolation | 検証エラー、メッセージ、または警告を作成します。 | |
LogWarning | 検証警告を作成し、検証コンテキストが保持するコレクションにメッセージを記録します。 | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) | |
SetCacheValue<T> | 名前に関連付けられているキャッシュされたオブジェクトを設定します。 | |
ToString | 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。) | |
TryGetCacheValue<T> | 名前が付けられたキャッシュ オブジェクトがあるかどうかを返します |
このページのトップへ
解説
モデルは、名前空間の検証チェックを起動するたびに、このクラスのインスタンスが作成されます。 このインスタンスは、検証チェックに登録されている各検証メソッドに渡されます。
これは、記述した検証メソッドが呼び出されるたびに、LogError、LogWarningと LogMessage のメソッドを使用して検証エラーを記録できます。 これらの検証エラーが ValidationContext オブジェクトの CurrentViolations のプロパティに追加されます。
検証が終了すると、すべての検証エラー、警告、およびメッセージは、CurrentViolations のプロパティの LogMessage オブジェクトのコレクションとして表されます。
ValidationContext オブジェクトは後続の検証メソッドに渡されます。 CurrentViolations のプロパティは、現在の検証チェックがその時点で見つかったすべてのエラー、警告、およびメッセージが含まれています。
この検証が起動すると、ValidationContext の別のオブジェクトが作成されます。 オブジェクトでは、検出順にエラー、そのオブジェクトに追加すると、警告メッセージの各検証メソッドに順番に渡す。
詳細については、「ドメイン固有言語における検証」を参照してください。
例
次の例は、検証メソッドであることを示す属性で修飾されたメソッドです。
各検証メソッドに渡される ValidationContext オブジェクトは、現在の検証の処理について説明します。 この情報は、既に実行されている検証メソッドで収集されたエラー、警告、およびメッセージが含まれます。
ValidationContext オブジェクトには次の例のエラー、警告、およびメッセージに追加する LogError のメソッドなどのメソッドがあります。:
[ValidationMethod
(
ValidationCategory.Open |
ValidationCategory.Save |
ValidationCategory.Menu
)
]
private void ValidateParentBirth(ValidationContext context)
{
foreach (Person parent in this.Parent)
{
if (this.Birth <= parent.Birth)
{
context.LogError(
"Birth must be after Parent's birth",
"FamilyParentBirthError",
this,
parent);
}
}
}
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。