繁体   English   中英

Visual Studio 2012-有条件使用(服务参考)

[英]Visual Studio 2012 - Conditional Using (service reference)

在我的代码中,我目前有:

#if (DEBUG)
using GetNewRecordNumber = {dev web service reference}.GetNewRecordNumber;
#else
using GetNewRecordNumber = {prod web service reference}.GetNewRecordNumber;
#endif 

这样我就可以做到:

 using (GetNewRecordNumber.Tickets_GetNewRecordNumber getNum = new GetNewRecordNumber.Tickets_GetNewRecordNumber())

在我的代码中。 一切正常,但是我想在“应用程序设置”中进行切换,以便可以在运行时进行更改。 有没有办法做到这一点,以便切换可以在运行时发生,而不是复制代码?

谢谢!

预处理程序指令在编译之前先突出显示,因此在符文运行时不起作用。 抱歉,但是您必须退出“#”指令并改用ConfigurationManager.AppSettings。

不知道您是否会考虑使用这种重复代码,但是最直接的方法也许就是为您的服务创建一个包装类,并在上述位置使用该包装类。 您已经在使用这些#if块复制了大量的代码,因此使用包装程序甚至可以减少总代码量并使它更整洁。

另一个选择是手动修改服务引用,以使它们从定义了所需所有成员的通用接口继承,但是如果您需要经常更新引用,则可能不是一个好主意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM