首页 新闻 会员 周边 捐助

c#条件编译

0
[待解决问题]

DLL类库中有这么一个类

class A{

public void M1(){}

public void M2(){}

}

现希望在某种条件下方法M1可以使用,M2不可以使用,也就是编译出来的类中没有方法M2。但不需要做代码更改。

lucika.zh的主页 lucika.zh | 初学一级 | 园豆:54
提问于:2015-04-04 11:50
< >
分享
所有回答(2)
0

对项目按属性,里面有Debug、Release等,也可以选择所有。

然后定义宏(DEBUG复选框上面的文本框),可以定义多个,以分号间隔。

再在代码里:

#if USE_M1

public void M1(){}

#else

public void M2(){}

#endif

519740105 | 园豆:5810 (大侠五级) | 2015-04-04 14:55

有没有可以通过方法属性标示的实现方法。

支持(0) 反对(0) lucika.zh | 园豆:54 (初学一级) | 2015-04-07 08:50

@lucika.zh: 你说的是attribute吧?通过特殊的手段是勉强可以,但那个代码很辛苦。

假如你不是想通过编译来控制,那么,用ioc或许是一个选择。

支持(0) 反对(0) 519740105 | 园豆:5810 (大侠五级) | 2015-04-07 09:03

@519740105: 谢谢。一套代码,编译出两个版本。如部署在外网上只有读权限,而内网上全部权限。

支持(0) 反对(0) lucika.zh | 园豆:54 (初学一级) | 2015-04-07 13:17

@lucika.zh: 这个就用宏来实现就好。

支持(0) 反对(0) 519740105 | 园豆:5810 (大侠五级) | 2015-04-07 13:25
0
Launcher | 园豆:45050 (高人七级) | 2015-04-07 09:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册