我用短同义词命名了一个类型。 在下一行中,我尝试通过它的这个新的短名称以某种方式使用这种类型(无关紧要):
using A = SomeTypeName;
using B = A;
但是在第2行中,编译器没有看到名称“A”和&生成错误(请参阅标题)。 为什么呢?
答案 0 :(得分:2)
ECMA-334 9.4.1使用别名指令说:
使用alias-directives的顺序没有 引用的namespace-or-type-name的重要性和解析 通过using-alias-directive不受其影响 using-alias-directive本身或其他using-directives 立即包含编译单元或命名空间体。 在其他方面 单词,using-alias-directive的namespace-or-type-name是 已解决,好像是直接包含编译单元或 namespace body没有using-directives 。 using-alias-directive可以 但是会立即受到extern-alias-directives的影响 包含编译单元或命名空间体。