Question

In my MonoTouch app, how can I put in a # compiler directive to include code only if in debug mode?

Was it helpful?

Solution

MonoDevelop by default sets the DEBUG define when you create a solution, so you can use two things: you can use [Conditional ("DEBUG")] attributes on methods that you use to instrument your code and you can use standard if #DEBUGs in your source.

Like this:

[Conditional ("DEBUG")]
void Log (string msg)
{
    Console.WriteLine (msg);
}

void Foo ()
{
    Log ("Start");
    ..
    Log ("End");
}

What is nice about the Conditional attribute is that the compiler will remove the calls at compile time if the switch is not set, and it is prettier than littering your source code with:

#if DEBUG
Console.WriteLine ("start");
#endif
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top