包含有关当前要执行验证处理的信息。
继承层次结构
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 属性。
当验证完成时,所有验证错误、警告和消息表示为 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) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。