次の方法で共有


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> 名前が付けられたキャッシュ オブジェクトがあるかどうかを返します

このページのトップへ

解説

モデルは、名前空間の検証チェックを起動するたびに、このクラスのインスタンスが作成されます。 このインスタンスは、検証チェックに登録されている各検証メソッドに渡されます。

これは、記述した検証メソッドが呼び出されるたびに、LogErrorLogWarningLogMessage のメソッドを使用して検証エラーを記録できます。 これらの検証エラーが 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) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

参照

関連項目

Microsoft.VisualStudio.Modeling.Validation 名前空間