C# 使名称空间两次可用是否有任何影响 tl;博士
在一个文件中使用两次C# 使名称空间两次可用是否有任何影响 tl;博士,c#,namespaces,compiler-warnings,C#,Namespaces,Compiler Warnings,在一个文件中使用两次使命名空间可用会有任何影响吗 背景 我有时在代码中使用一些#define指令。当我这样做时,我还使用和#if/#endif环绕,以防止它们被错误地删除为未使用,例如: #if FOO using Some.Arbitrary.Namespace; #endif #if BAR using Some.Arbitrary.Namespace; #endif 如果在此示例中同时声明了FOO和BAR,编译器将发出警告 警告CS0105:正在使用“Some.arbitral.Nam
使命名空间可用会有任何影响吗
背景
我有时在代码中使用一些#define
指令。当我这样做时,我还使用和#if/#endif
环绕,以防止它们被错误地删除为未使用,例如:
#if FOO
using Some.Arbitrary.Namespace;
#endif
#if BAR
using Some.Arbitrary.Namespace;
#endif
如果在此示例中同时声明了FOO
和BAR
,编译器将发出警告
警告CS0105:正在使用“Some.arbitral.Namespace”的指令
以前出现在此命名空间中
我尝试了一个简单的测试项目,看看结果IL中是否有差异,但(正如我所预期的)没有任何差异。所以我在问,可能对构建过程有其他影响吗?注意,这并不是声明名称空间,而是通过使用
指令使其可用。这与具有多个名称空间X{…}
声明完全不同。但是不,我不希望它对读者产生任何影响,除了困惑之外,这是相当重要的。@JonSkeet感谢你指出这一点;我已经编辑了我的问题,我不认为它有任何真正的影响,除了一个可维护性的问题。