一尘不染

条件编译取决于C#中的框架版本

c#

是否有任何预处理器符号允许类似

#if CLR_AT_LEAST_3.5
// use ReaderWriterLockSlim
#else
// use ReaderWriterLock
#endif

或其他方法可以做到这一点?


阅读 544

收藏
2020-05-19

共1个答案

一尘不染

我认为没有任何预定义的“预处理器”符号。但是,您可以实现以下目标:

  1. 创建项目的不同配置,为您要支持的每个CLR版本配置一个。

  2. 每个CLR版本选择一个符号VERSION2VERSION3例如。

  3. 在每种配置中,定义一个与之关联的符号,然后取消定义所有其他符号。

  4. 在条件编译块中使用这些符号。

2020-05-19