C# 可以使用类型别名定义类型别名吗?

C# 可以使用类型别名定义类型别名吗?,c#,.net-core,C#,.net Core,我尝试使用另一个类型别名来定义类型别名,如下所示: using pairs = Dictionary<string, int>; using allPairs = Dictionary<string, pairs>; 为什么这是一个错误,是否有解决方法?实际上没有。使用别名指令不使用源代码文件中的使用指令来解析类型,请参阅以获取更多信息。实际上没有。使用别名指令不使用源代码文件中的使用指令来解析类型,请参阅以获取更多信息。不使用别名可以在using指令的声明中使用。根据

我尝试使用另一个类型别名来定义类型别名,如下所示:

using pairs = Dictionary<string, int>;
using allPairs = Dictionary<string, pairs>;

为什么这是一个错误,是否有解决方法?

实际上没有。使用别名指令不使用源代码文件中的使用指令来解析类型,请参阅以获取更多信息。

实际上没有。使用别名指令不使用源代码文件中的使用指令来解析类型,请参阅以获取更多信息。

不使用别名可以在using指令的声明中使用。根据,

使用_alias _指令的
写入顺序没有限制
名称空间或类型名称的重要性和解析
使用_alias_指令引用的
不受
使用_-alias_指令
本身或其他使用中的_指令 直接包含编译单元或命名空间主体

换句话说,编译器在给定的声明空间内使用别名指令独立地处理每个
。在同一声明空间中进行此隔离处理的结果,导致不知道给定声明空间中是否存在其他
别名。因此,当您使用指令
在另一个
中引用
别名
时,编译器不知道引用的别名是否存在

using pairs = Dictionary<string, int>;
using allPairs = Dictionary<string, pairs>;
使用pairs=字典;
使用allPairs=字典;
在上述代码中,第二行将导致编译时错误,因为它不受第一个using alias指令的影响。

using指令的声明中不能使用using alias。根据,

使用_alias _指令
写入顺序没有限制
名称空间或类型名称的重要性和解析
使用_alias_指令引用的
不受
使用_-alias_指令
本身或其他使用中的_指令 直接包含编译单元或命名空间主体

换句话说,编译器在给定的声明空间内使用别名指令独立地处理每个
。在同一声明空间中进行此隔离处理的结果,导致不知道给定声明空间中是否存在其他
别名。因此,当您使用指令
在另一个
中引用
别名
时,编译器不知道引用的别名是否存在

using pairs = Dictionary<string, int>;
using allPairs = Dictionary<string, pairs>;
使用pairs=字典;
使用allPairs=字典;
在上述代码中,第二行将导致编译时错误,因为它不受第一个using alias指令的影响