Compartir a través de


Elegir entre enumeraciones y parámetros booleanos

Las instrucciones siguientes le ayudan a determinar si el tipo de un parámetro debería ser una enumeración o un valor Boolean.

Utilice enumeraciones si, de no hacerlo, un miembro tendría dos o más parámetros booleanos.

Las enumeraciones agregan una legibilidad significativa a las firmas de miembros. Considere la siguiente llamada al método:

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

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

Las llamadas como esta son muy difíciles de comprender sin comprobar la documentación o agregar comentarios al código. Es mucho más fácil leer una llamada que utiliza valores de enumeración en lugar de varios valores booleanos, como se puede ver en el ejemplo de código siguiente.

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

No utilice valores booleanos a menos que esté completamente seguro de que nunca será necesario tener más de dos valores.

Las enumeraciones permiten agregar valores en versiones posteriores; sin embargo, agregar valores a las enumeraciones puede introducir problemas de compatibilidad. Para obtener información adicional, vea Agregar valores a enumeraciones.

Portions Copyright 2005 Microsoft Corporation. Reservados todos los derechos.

Portions Copyright Addison-Wesley Corporation. Reservados todos los derechos.

Para obtener más información sobre las directrices de diseño, consulte “las instrucciones de diseño de Framework: Convenciones, frases realizadas y modelos para libro de bibliotecas reutilizables de .NET” de Krzysztof Cwalina y Brad Abrams, publicados por Addison-Wesley, 2005.

Vea también

Conceptos

Diseño de parámetros

Otros recursos

Instrucciones de diseño de miembros

Instrucciones de diseño para desarrollar bibliotecas de clases