【问题标题】:Preprocessor Directives Reflection Injection预处理器指令反射注入
【发布时间】:2012-08-19 02:39:00
【问题描述】:

如何通过反射将C# Preprocessor Directives注入接口?

示例:
我想将#if SILVERLIGHT 注入任何 WCF 服务合约接口。

【问题讨论】:

  • 预处理器命令在代码生成之前进行评估。它们不存在于要反映的程序集中。

标签: c# reflection preprocessor-directive


【解决方案1】:

简短的回答:你不能。
稍微长一点的答案:你的问题一开始就没有意义。

预处理器指令在编译前处理。该处理的结果是新的、修改后的源代码。然后编译该源代码。

例如,如果SILVERLIGHT 符号在编译时没有定义,那么#if SiLVERLIGHT#endif 之间的整个代码将被编译器完全忽略,就好像它根本不存在一样。

【讨论】:

    【解决方案2】:

    这是不可能的。根据名称,预处理器指令仅在编译时间之前存在。无处可去。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      相关资源
      最近更新 更多