¿Es posible crear un método que realice la asistencia de depuración como la clase System.Diagnostics.Debug
?¿Es posible crear un método de solo depuración en .NET?
Estoy buscando una forma de construir un método que cuando es llamado por un ensamblado compilado con el símbolo de compilación condicionado DEBUG definido, da como resultado una operación, y que es no-operativa cuando es invocado por un ensamble sin el símbolo definido.
Si es posible, me gustaría que sea posible que las llamadas a los métodos de depuración agreguen una sobrecarga mínima o aumenten el tamaño de la versión de lanzamiento del ensamblaje.
Para aclarar, los métodos de depuración deben estar en un ensamblado compilado en modo Release. Las llamadas a los métodos solo deberían generar operaciones cuando se las llama desde un ensamblado con el símbolo DEPURAR definido en el alcance de la llamada al método.
+1 por señalar que el condicional no es a prueba de tontos (¿significa que es incluso CLI compatible?) ¿Qué ocurre para C++ llama a Debug.WriteLine? Es eso para todas las versiones? Sería bueno que edites eso en: P –
No lo he intentado. La página de MSDN en ConditionalAttribute solo dice que el compilador de C++ no es compatible, sin decir qué versiones. – SLaks
Como dije en la respuesta ('y siempre emitiré la llamada'), el compilador de C++ (creo) siempre emitirá llamadas a' WriteLine', incluso en Release. – SLaks