Creo que esta es una pregunta simple, así que supongo que me falta algo obvio. Realmente nunca utilizo las directivas de preprocesador pero estaba buscando el código de alguien que sí lo hizo y pensé que era algo con lo que debería estar familiarizado.¿Cuándo utilizar las directivas de preprocesador en .net?
así que miré en el ejemplo de MSDN here que tiene el código:
#define DEBUG
// ...
#if DEBUG
Console.WriteLine("Debug version");
#endif
Mis dos preguntas son:
- en el ejemplo anterior, ¿por qué ellos definen de depuración? Tenía la impresión de que se configuró si compila en el modo de lanzamiento de depuración v.
- mirando el otro ejemplo que tiene
#define MYTEST
y luego escribe en la consola dependiendo de si está 'definido', pero ¿cómo difiere esto de solo usar una variable? ¿Que me estoy perdiendo aqui?
[MSDN los llama "directivas de preprocesador"] (http://msdn.microsoft.com/en-us/library/ed8yd1ha.aspx) –
Pero no lo son. Del mismo artículo: * "el compilador no tiene un preprocesador por separado" *. – cdhowie
Probablemente se llaman con más precisión * símbolos de compilación condicional *. Son similares a los encontrados en C++, pero el compilador de C# no tiene un preprocesador por separado. (http://blogs.msdn.com/b/csharpfaq/archive/2004/03/09/86979.aspx) –