Поделиться через


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. Эти ошибки проверки добавляются в свойство CurrentViolations объекта ValidationContext.

Если проверка завершена, все ошибки проверки, предупреждения и сообщения представлены как коллекции объектов 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 (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

Microsoft.VisualStudio.Modeling.Validation - пространство имен