Esta documentación está archivada y no tiene mantenimiento.

Validar argumentos

Las instrucciones siguientes ayudan a garantizar que los argumentos se validan correctamente.

Valide los argumentos pasados a miembros públicos, protegidos o implementados explícitamente. Inicie System.ArgumentException o una de sus clases derivadas, si se produce un error en la validación.

Esta instrucción no requiere que el código de validación se encuentre en el miembro visible públicamente. Es aceptable pasar los argumentos a un método interno que controla la validación.

Inicie System.ArgumentNullException si se pasa un argumento null pero el miembro no admite los argumentos null (Nothing en Visual Basic).

Valide los parámetros de enumeración.

No se puede dar por supuesto que los argumentos de enumeración son valores definidos en la enumeración porque Common Language Runtime (CLR) admite la conversión de cualquier valor entero a un valor de enumeración, independientemente de si el valor está definido en la enumeración.

No utilice System.Enum.IsDefined(System.Type,System.Object) para realizar comprobaciones de rangos de enumeración ya que está basado en el tipo en tiempo de ejecución de la enumeración, que puede cambiar de una versión a otra.

Una versión más reciente de una biblioteca puede agregar valores a una enumeración distribuida. Utilizar IsDefined para la validación de datos puede ser peligroso porque el código existente (que no controlaba el nuevo valor) tratará el nuevo valor como entrada válida porque IsDefined devuelve true para el nuevo valor. Compruebe que la entrada está en el intervalo de valores que puede admitir su programa e inicie una excepción si no lo está.

Tenga en cuenta que los argumentos mutables pasados pueden haber cambiado después de haber sido validados.

Si el miembro contiene información confidencial, realice una copia privada del objeto mutable y utilice la copia para la validación y el procesamiento. Esto sólo se aplica a los datos mutables. No es necesario copiar los datos inmutables, como por ejemplo los objetos Uri.

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 el libro titulado "Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries" de Krzysztof Cwalina y Brad Abrams, publicado por Addison-Wesley, 2005.

Vea también

Mostrar: