Partilhar via


Classe ValidationContext

Contém informações sobre a validação atual de processamento que está sendo executada.

Hierarquia de herança

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

Namespace:  Microsoft.VisualStudio.Modeling.Validation
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.11.0 (em Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)

Sintaxe

'Declaração
Public Class ValidationContext
public class ValidationContext

O tipo ValidationContext expõe os membros a seguir.

Construtores

  Nome Descrição
Método público ValidationContext(array<String[], ModelElement) Inicializa uma nova instância da ValidationContext classe que tem um elemento de modelo específico para validar.
Método público ValidationContext(array<String[], IEnumerable<ModelElement>) Construtor
Método público ValidationContext(ValidationCategories, ModelElement) Construtor
Método público ValidationContext(ValidationCategories, IEnumerable<ModelElement>) Construtor

Superior

Propriedades

  Nome Descrição
Propriedade pública Categories Obtém as categorias de validação para este contexto de validação.
Propriedade pública CurrentViolations Obtém a coleção de mensagens de validação para o contexto de validação.
Propriedade pública CustomCategories Obtém as seqüências de caracteres de validação personalizada para o contexto de validação.
Propriedade pública ValidationSubjects Obtém a lista de elementos de modelo para validar.

Superior

Métodos

  Nome Descrição
Método protegido ConstructValidationMessage Constrói uma mensagem de validação.Você pode substituir esse método para construir uma mensagem de validação personalizada.
Método público Equals Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tentar liberar recursos e realizar outras operações de limpeza antes de ser recuperados pela coleta de lixo. (Herdado de Object.)
Método público GetCache<T>() Obtém o cache para a classe especificada.
Método público GetCache<T>(String) Obtém o cache para a classe especificada.
Método público GetHashCode Serve como uma função de hash para um tipo específico. (Herdado de Object.)
Método público GetNavigationProxyModelElements Obtém o proxy de elementos de modelo quando ocorre um erro de validação do modelo.
Método público GetType Obtém Type da instância atual. (Herdado de Object.)
Método público LogError Cria um erro de validação e registra uma mensagem para a coleção que o contexto de validação mantém.
Método público LogFatal Cria um erro fatal para validação e registra uma mensagem no contexto de validação.
Método público LogMessage Cria uma mensagem de informações de validação e o registra para a coleção que o contexto de validação mantém.
Método público LogViolation Cria um erro de validação, uma mensagem ou aviso.
Método público LogWarning Cria um aviso de validação e registra a mensagem para a coleção que o contexto de validação mantém.
Método protegido MemberwiseClone Cria uma cópia superficial de Objectatual. (Herdado de Object.)
Método público SetCacheValue<T> Defina o associado com o nome de objeto em cache
Método público ToString Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.)
Método público TryGetCacheValue<T> Retorna se o objeto em cache associado a exist nome ou não

Superior

Comentários

Uma instância dessa classe é criada toda vez que o namespace de modelagem começa a verificação de validação.Esta instância é passada para cada método de validação que você tenha registrado para a verificação de validação.

Sempre que um método de validação que você escreve é chamado, seu código pode registrar erros de validação usando o LogError, LogWarning, e LogMessage métodos.Esses erros de validação são adicionados para o CurrentViolations propriedade da ValidationContext objeto.

Quando a validação for concluída, todos os erros de validação, avisos, e as mensagens são representadas como coleções de LogMessage objetos na CurrentViolations propriedade.

O ValidationContext objeto é então passado para quaisquer métodos de validação subseqüente.O CurrentViolations propriedade contém todos os erros, avisos e mensagens que foram encontradas até que ponto na verificação de validação atual.

Na próxima vez que a validação começa, outro ValidationContext objeto é criado.Esse objeto é passado para cada método de validação, por sua vez, com erros, avisos e mensagens adicionadas a esse objeto de medida que são encontrados.

Para obter mais informações, consulte Validação em um idioma específico do domínio.

Exemplos

O exemplo a seguir é um método que é decorado por um atributo que indica que é um método de validação.

O ValidationContext objeto que é passado para cada método de validação contém informações sobre o processamento de validação atual.Essas informações incluem a erros, avisos e mensagens que acumulados nos métodos de validação que já foram executados.

O ValidationContext objeto tem métodos que adicionar os erros, avisos e mensagens, como o LogError método no exemplo a seguir:

[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);
        }
      }
}

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.Modeling.Validation