为什么C#中的类型别名不能在其他别名中使用?

问题描述 投票:0回答:1

C# 12 (.NET 8) 之后,所有类型都可以使用别名:

using A = int;
using B = string;
using C = Dictionary<int, string>;

但是,它不能写成

using A = int;
using B = string;
using C = Dictionary<A, B>;

这是一个错误还是只是一个功能? 有什么解决办法吗?

c# .net using-statement type-alias c#-12.0
1个回答
3
投票

编译器错误 CS0246 的文档解释了这一点

A

using

 别名指令不使用 
using
 指令
用于解析类型的源代码文件。

因此,在声明新别名时,同一源代码文件中定义的其他别名不可见。

© www.soinside.com 2019 - 2024. All rights reserved.