Monotouch编译器指令if debug

6

在我的MonoTouch应用程序中,如何添加#编译指令以仅在调试模式下包含代码?

1个回答

12

MonoDevelop默认创建解决方案时设置DEBUG定义,所以你可以使用两个东西:你可以在你用来检测你的代码的方法上使用[Conditional("DEBUG")]属性,也可以在你的源码中使用标准的#if DEBUG。

像这样:

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

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

条件属性的好处是,如果开关没有设置,编译器会在编译时删除调用,而且它比在源代码中散布这些内容更加美观:

#if DEBUG
Console.WriteLine ("start");
#endif

这个 Log 的定义可以放在我的命名空间顶部吗?还是必须作为一个类的方法? - oivvio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接