Necesito saber el uso de #if en C# ... Gracias ..¿Cuál es el uso de #if en C#?
Respuesta
#if
es una pre-processor command.
Su uso más común (que algunos podrían decir que es un abuso) es tener código que sólo compila en modo de depuración:
#if DEBUG
Console.WriteLine("Here");
#endif
Un muy buen uso (como StingyJack points out) es para permitir una fácil depuración de un servicio de Windows:
static void Main()
{
#if (!DEBUG)
System.ServiceProcess.ServiceBase[] ServicesToRun;
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new Service1() };
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
#else
// Debug code: this allows the process to run as a non-service.
// It will kick off the service start point, but never kill it.
// Shut down the debugger to exit
Service1 service = new Service1();
service.<Your Service's Primary Method Here>();
// Put a breakpoint on the following line to always catch
// your service when it has finished its work
System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
#endif
}
Esto significa que la ejecución de modo de liberación comenzará el servicio como se esperaba, w Si se ejecuta en modo de depuración, podrá depurar el código.
"Cuando el compilador de C# se encuentra con una directiva #if, seguido finalmente por una directiva #endif, se compilará el código entre las directivas solo si el símbolo especificado está definido "
Aquí está el enlace MSDN.
Se utiliza para las directivas de preprocesador, ver aquí http://msdn.microsoft.com/en-us/library/4y6tbswk(v=VS.71).aspx
#if
es una directiva de compilación, por ejemplo, puede #define test
y más tarde en el código puede probar #ifdef test
bloque de código compilación con #ifdef
#if (C# Reference) es una directiva de compilación. Vea el artículo de MSDN para más información.
#if
ha perdido mucho en comparación con sus antepasados - c o C++. hoy en día utilizo #if
por sólo dos escenarios
1) usarlo para activar el código de depuración o no depurar
#if DEBUG
// code inside this block will run in debug mode.
#endif
2) utilizarlo para apagar rápidamente código
#if false
// all the code inside here are turned off..
#endi
- 1. ¿Cuál es el uso del encabezado HTTP If-Unmodified-Since?
- 2. uso de "else if" en C++
- 3. El uso definido (macro) en el interior del C if
- 4. ¿Cuál es el uso de las etiquetas en C#?
- 5. ¿Cuál es el uso de "anulación abstracta" en C#?
- 6. ¿Cuál es el uso de la sobrecarga const en C++?
- 7. Case vs If Else If: ¿Cuál es más eficiente?
- 8. ¿Cuál es el uso de moveToFirst() en SQLite cursores
- 9. ¿Cuál es el uso de la directiva de preprocesador #if DEBUG en C#? ¿Cuándo debemos usar esto?
- 10. ¿Cuál es el uso de Indexers?
- 11. ¿Cuál es el uso de typedef?
- 12. ¿Cuál es el uso posible para "#define for if (false) {} else for"?
- 13. ¿Cuál es el uso de la sintaxis = =?
- 14. ¿Cuál es el uso del uso de init() en JavaScript?
- 15. ¿Cuál es el uso de window.external?
- 16. ¿Cuál es el propósito del uso?
- 17. If instrucción en C++
- 18. ¿Cuál es el uso de Log4j API?
- 19. ¿Cuál es el uso de Deployment.Current.Dispatcher.BeginInvoke (() => {...})?
- 20. ¿Cuál es el '^' en Objective-C
- 21. ¿Cuál es el uso previsto de IllegalStateException?
- 22. ¿Cuál es el uso de "indulgente"?
- 23. ¿Cuál es el uso correcto de DataContext.Refresh()?
- 24. ¿Cuál es el uso de autómatas finitos?
- 25. ¿Cuál es el uso de LOCAL_MODULE_TAGS?
- 26. ¿Cuál es el uso correcto de EnsureChildControls()?
- 27. ¿cuál es el uso básico de alignment_storage?
- 28. ¿Cuál es el uso de @SuppressWarnings
- 29. ¿Cuál es el uso de singletonList?
- 30. ¿Cuál es el uso principal de MarshalByRefObject?
mejor uso de # si eso he visto .... http://www.codeproject.com/KB/dotnet/DebugWinServices.aspx – StingyJack
@StingyJack - Lo he usado yo mismo, es un muy buen uso. – ChrisF