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

ConditionalAttribute (Clase)

Actualización: noviembre 2007

Indica a los compiladores que se debería omitir una llamada al método o atributo a menos que se defina un símbolo de compilación condicional especificado.

Espacio de nombres:  System.Diagnostics
Ensamblado:  mscorlib (en mscorlib.dll)

[SerializableAttribute]
[AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Method, AllowMultiple = true)]
[ComVisibleAttribute(true)]
public ref class ConditionalAttribute sealed : public Attribute
/** @attribute SerializableAttribute */ 
/** @attribute AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple = true) */
/** @attribute ComVisibleAttribute(true) */
public final class ConditionalAttribute extends Attribute
public final class ConditionalAttribute extends Attribute

El atributo ConditionalAttribute puede aplicarse a métodos y clases. Sin embargo, su uso en clases sólo es válido para los tipos derivados de Attribute. ConditionalAttribute se omite o produce una advertencia del compilador o un mensaje de error si se aplica a cualquier otro tipo.

y5dw26w3.alert_note(es-es,VS.90).gifNota:

En las versiones 1.0 y 1.1 de .NET Framework, el atributo ConditionalAttribute se puede aplicar sólo a los métodos.

Aplicar ConditionalAttribute a un método indica a los compiladores que una llamada al método no debería compilarse en el lenguaje intermedio de Microsoft (MSIL) a menos que se defina el símbolo de compilación condicional asociado a ConditionalAttribute. Aplicar ConditionalAttribute a un atributo indica que el atributo no debería emitirse a los metadatos a menos que se defina el símbolo de compilación condicional. Aún así, el compilador comprueba los tipos de los argumentos pasados al método o atributo.

Puede utilizar las técnicas siguientes para definir los símbolos de compilación condicional:

  • Opciones de la línea de comandos del compilador (por ejemplo, /define:DEBUG).

  • Variables de entorno del shell del sistema operativo (por ejemplo, set DEBUG=1).

  • Directivas pragma del código fuente (por ejemplo, #define DEBUG para definir la variable de compilación y #undef DEBUG para anular la definición).

Se permite que los compiladores que cumplen con Common Language Specification (CLS) omitan ConditionalAttribute. Los compiladores de C#, J# y Visual Basic admiten ConditionalAttribute; los compiladores de JScript y C++ no admiten el atributo.

ConditionalAttribute se aplica a los métodos definidos en las clases Debug y Trace.

Para obtener más información acerca de cómo utilizar los atributos, vea Extender metadatos mediante atributos.

En el ejemplo de código siguiente se muestra el uso de ConditionalAttribute. En el ejemplo se supone que la condición se define en la opción del compilador /define. Puede obtener resultados diferentes si cambia la opción del compilador. Opcionalmente, puede definir las condiciones en el código de ejemplo en lugar de identificarlas como opciones del compilador.

No hay ningún ejemplo de código disponible o este idioma no es compatible.

System::Object
  System::Attribute
    System.Diagnostics::ConditionalAttribute

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5, 2.0, 1.0

XNA Framework

Compatible con: 2.0, 1.0
Mostrar: