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
Outros recursos
Diretrizes de Design do membro
Diretrizes de Design para desenvolvimento bibliotecas de classe