我在编码/测试时并不总是有网络连接,因为我在旅行时编码(火车,航班等)。我想设置一个预编译器条件,以便在未检测到连接时跳过某些代码。当然我可以处理错误,但我不希望这种逻辑作为代码库的一部分。有没有办法做到这一点?也许与Macros一起?
示例:
#if ConnectedToNetwork
PerformFunctionThatRequiresNetwork();
#else
DoSomethingElseThatDoentRequireNetwork();
#endif
答案 0 :(得分:2)
你知道什么时候没有网络吗?如果是这样,为什么不设置一个具有“无网络”设置的新构建定义,并在调试你知道没有网络的地方使用它?我认为这将是一个开发问题,而不是创建一个程序化的预编译步骤。
至于“我必须在预编译中执行此操作”,我将分离出调用网络并编译“非网络”版本的代码。在调试的编译步骤中可以很容易地交换它并解决问题。
另一个问题是这是否在运行时更好。用户是否还在没有网络时关闭网络位,或者您只是通过例外处理这种可能性?
答案 1 :(得分:0)
我不这么认为...... 最接近你想要的是一种即时交换文件的插件,但我认为这些东西不存在。
我认为最好的方法是通过代理类来处理它。这是为您需要联网/非联网的功能创建一个接口,并实现两个不同的类。然后根据配置或检测网络加载适当的处理程序类。
HTH
马里奥