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> | 返回是否缓存对象与该名称存在 |
页首
备注
建模空间开始验证检查此类的实例每次创建。 此实例传递到您为验证检查注册的每种验证方法。
每次验证方法编写调用使用 LogError、 LogWarning和 LogMessage 方法,即,代码可以记录验证错误。 这些验证错误将添加到 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) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。