类型别名可以引用另一个类型别名吗?

本文关键字:类型 别名 另一个 引用 | 更新日期: 2023-09-27 18:06:38

在c#中:

using Word = System.String;
using Words = System.Collections.Generic.List<Word>;

编译器报错"找不到类型或命名空间'Word' "。这难道不可能吗?如果有区别的话,我试着在全局命名空间中这样做。

编辑:刚刚发现了另一个回答这个问题的SO:为什么一个别名c#类型不能被另一个访问?这可以标记为重复。

类型别名可以引用另一个类型别名吗?

No。这些别名只适用于命名空间主体。

来源

您可以通过将第二个using移动到命名空间主体内来解决此限制,如下所示:

using Word = System.String;
namespace MyNamespace {
   using Words = System.Collections.Generic.List<Word>;
   ...
}

你能做的最好的就是:

using Word = System.String;
using Words = System.Collections.Generic.List<System.String>;