在一个文件中两次using
使命名空间可用吗?
我有时会在代码中使用一些#define
指令。当我这样做时,我也会using
与#if/#endif
一起使用,以防止它们被错误地移除为未使用状态,例如:
#if FOO
using Some.Arbitrary.Namespace;
#endif
#if BAR
using Some.Arbitrary.Namespace;
#endif
如果在此示例中声明了FOO
和BAR
,则编译器会发出警告
警告CS0105:'Some.Arbitrary.Namespace'的using指令 先前出现在此命名空间中
我已经尝试过一个简单的测试项目,看看产生的IL存在差异但是(正如我所料)没有任何差异。所以我问,在构建过程中是否还有其他影响?