Compartilhar via


Escolhendo entre enumerações e parâmetros booleanos

As diretrizes a seguir o ajudarão a determinar se o tipo do parâmetro deve ser uma enumeração ou Boolean valor.

Use enumerações, se um membro, teria que dois ou mais parâmetros booleanos.

Enumerações adicionar legibilidade significativa para assinaturas de membros. Considere a seguinte chamada de método:

Type.GetType("Contoso.Controls.Array", True, False)
Type.GetType("Contoso.Controls.Array", true, false);

Type::GetType("Contoso.Controls.Array", true, false);

Chamadas como isso serão muito difícil entender sem verificar a documentação ou a adição de comentários do código. É muito mais fácil ler uma chamada que usa os valores de enumeração no lugar de vários valores booleanos, conforme demonstrado no exemplo de código a seguir.

BetterType.GetType("Contoso.Controls.Array", _
    ErrorOptions.ThrowOnError, _
    CasingOptions.CaseInsensitive)
BetterType.GetType("Contoso.Controls.Array", 
    ErrorOptions.ThrowOnError, 
    CasingOptions.CaseInsensitive);

BetterType::GetType("Contoso.Controls.Array",
ErrorOptions::ThrowOnError,
CasingOptions::CaseInsensitive);

Não use booleanos, a menos que você tiver certeza absoluta que nunca haverá a necessidade de mais de dois valores.

Enumerações permitem adicionar valores em versões posteriores, no entanto, a adição de valores de enumerações podem apresentar problemas de compatibilidade. Para mais informações, consulte: Adicionar valores a enumerações.

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