Si se trata de un problema de código de lectura inversa, es posible considerar el uso calificador clase parcial de .Net y poner el código condicional en archivos separados, así que tal vez usted podría tener algo como esto ...
foo Cs:
public partial class Foo
{
// Shared Behavior
}
foo.Debug.cs:
#if DEBUG
public partial class Foo
{
// debug Behavior
}
#endif
foo.bar.cs:
#define BAR
#if BAR
public partial class Foo
{
// special "BAR" Behavior
}
#endif
no estoy seguro de si está o no puede definir sus condicionales fuera del archivo de código sin embargo, por hacer algo como esto podría reducir la flexibilidad de la definiciones condicionales (p. ej. es posible que no pueda crear una rama condicional contra BAR en, por ejemplo, el archivo principal, y tener que mantener múltiples BAR definidas podría ponerse feo), así como requerir una cierta diligencia para ir a los archivos para habilitar/deshabilitar efectivamente ese bit de código.
Por lo tanto, utilizar este enfoque podría terminar presentando más complicaciones de las que resuelve, pero, dependiendo de su código, ¿podría ser útil?
¿Por qué lo necesita en primer lugar? ¿Está relacionado con la información de depuración? – Aliostad