Compartilhar via


Validando argumentos

As diretrizes a seguir ajudam a garantir que você valide argumentos corretamente.

Valide os argumentos passados para os membros do públicos, protegidos ou implementados explicitamente. Lança System. ArgumentException ou uma de suas classes derivadas, se a validação falhar.

Essa diretriz não requerem que o código de validação no membro publicamente visível. É aceitável para passar argumentos para um método interno que manipula a validação.

Lança o System. ArgumentNullException se um argumento nulo é passado, mas o membro não suporta argumentos nulos (Nothing no Visual Basic).

Valide os parâmetros de enumeração.

Você não pode presumir que os argumentos de enumeração são valores definidos na enumeração porque o common language runtime (CLR) suporta o elenco qualquer valor inteiro para um valor de enumeração independentemente, por exemplo, se o valor é definido na enumeração.

Não use System.Enum.IsDefined(System.Type,System.Object) para verificações de intervalo de enumeração, pois é baseada no tipo de enumeração, que pode alterar de acordo com a versão em tempo de execução.

Uma versão mais recente de uma biblioteca pode adicionar valores para uma enumeração de remessa. Usando IsDefined para dados validação pode ser perigosa porque o código existente (que não identificou o novo valor) tratará o novo valor de uma entrada válida porque IsDefined retorna true para o novo valor. Verifique se a entrada está no intervalo de valores de seu programa pode oferecer suporte e lançar uma exceção se não for.

Esteja ciente de que mutável argumentos passados podem ter alterado depois que eles foram validados.

Se o membro é sensível à segurança, faça uma cópia particular do objeto mutável e usar a cópia para processamento e validação. Isso se aplica somente aos dados mutáveis. Dados imutáveis, como Uri objetos, não precisam ser copiados.

Portions Copyright 2005 Microsoft Corporation. Todos os direitos reservados.

Portions Copyright Addison-Wesley Corporation. Todos os direitos reservados.

Para obter mais informações sobre as diretrizes de design, consulte a "diretrizes de Design do Framework: Convenções, idiomas e padrões de reutilizável.Bibliotecas de rede" catálogo por Krzysztof Cwalina e Brad Abrams, publicado pela Addison-Wesley, 2005.

Consulte também

Conceitos

Design de parâmetro

Outros recursos

Diretrizes de Design do membro

Diretrizes de Design para desenvolvimento bibliotecas de classe