ValidationContext 类

包含有关进程执行的当前验证的信息。

继承层次结构

System.Object
  Microsoft.VisualStudio.Modeling.Validation.ValidationContext
    Microsoft.VisualStudio.Modeling.Shell.VsValidationContext

命名空间:  Microsoft.VisualStudio.Modeling.Validation
程序集:  Microsoft.VisualStudio.Modeling.Sdk.11.0(在 Microsoft.VisualStudio.Modeling.Sdk.11.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 属性。

当该验证完成时,所有验证错误、警告和消息表示为 LogMessage 对象的集合。 CurrentViolations 属性。

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 命名空间