我想做这样的事情。如果定义DEBUG,那么命名空间是Test,或者命名空间是TestB。请参阅下面的示例代码。我能做到吗,或者你有更好的想法来实现这一目标?提前致谢!在C中动态更改命名空间#
# if DEBUG
[SomekindofAttribute(Namespace = "Test")]
#endif
namespace TestB
{
public class Program
{}
}
我想做这样的事情。如果定义DEBUG,那么命名空间是Test,或者命名空间是TestB。请参阅下面的示例代码。我能做到吗,或者你有更好的想法来实现这一目标?提前致谢!在C中动态更改命名空间#
# if DEBUG
[SomekindofAttribute(Namespace = "Test")]
#endif
namespace TestB
{
public class Program
{}
}
你可以这样做:
#if DEBUG
namespace TestB
#else
namespace Test
#endif
{
public class Program { }
}
虽然这看起来像一个非常坏主意。使用Program
的所有内容都必须为它们的using
声明执行相同的预处理器指令。
啊哈,我没想到代码可以这样写。非常感谢您的快速响应。 –
为什么不向条件声明本身添加条件?
如果我正确理解你的问题,那么你可以使用下面的代码。
#if DEBUG
namespace Test
#else
namespace TestB
#endif
{
public class Program
{
public static void Main()
{
Console.WriteLine(new Program().GetType().FullName);
Console.ReadLine();
}
}
}
请确认这是你想要的。
非常感谢。这就是我正在寻找的东西,我没有想到代码可以这样写。但罗布先生比你早1分钟回答,所以...... :) –
@GoddessGuard其实我首先得到了答案,我在02:33:26 UTC回答,他在02:34:08 UTC回答。但是不要紧。 :) –
您可能会从[Dynamic Namespace Switching](http://stackoverflow.com/a/8008989/3796048) –
得到一些想法谢谢,我想我已经得到了正确的答案。但是,谢谢你们一样 –