【发布时间】:2012-08-19 02:39:00
【问题描述】:
如何通过反射将C# Preprocessor Directives注入接口?
示例:
我想将#if SILVERLIGHT 注入任何 WCF 服务合约接口。
【问题讨论】:
-
预处理器命令在代码生成之前进行评估。它们不存在于要反映的程序集中。
标签: c# reflection preprocessor-directive
如何通过反射将C# Preprocessor Directives注入接口?
示例:
我想将#if SILVERLIGHT 注入任何 WCF 服务合约接口。
【问题讨论】:
标签: c# reflection preprocessor-directive
简短的回答:你不能。
稍微长一点的答案:你的问题一开始就没有意义。
预处理器指令在编译前处理。该处理的结果是新的、修改后的源代码。然后编译该源代码。
例如,如果SILVERLIGHT 符号在编译时没有定义,那么#if SiLVERLIGHT 和#endif 之间的整个代码将被编译器完全忽略,就好像它根本不存在一样。
【讨论】:
这是不可能的。根据名称,预处理器指令仅在编译时间之前存在。无处可去。
【讨论】: