为什么 using 指令不能在 c# 中递归使用?[已结束]

Why can the using directive not be used recursively in c#? [closed]

提问人:Tom 提问时间:8/19/2022 更新时间:8/19/2022 访问量:44

问:


这个问题似乎不是关于帮助中心定义的范围内的编程。

去年关闭。

为什么 using 指令不能在 c# 中以递归方式使用?

using MyKey = System.String;
using MyValue = System.Int32;
using AllowedPair = System.Collections.Generic.KeyValuePair<System.String, System.Int32>;
using NotAllowedPair = System.Collections.Generic.KeyValuePair<MyKey, MyValue>;  //CS0246

我觉得想要以这种方式建立使用语句是合理的,所以我很好奇为什么我不被允许这样做。

C# using 指令

评论

2赞 ProgrammingLlama 8/19/2022
我投票决定关闭这个问题,因为这是针对创建此功能时在房间里的人的问题。
0赞 ProgrammingLlama 8/19/2022
也许你可以试着在这里问。
2赞 Tom 8/19/2022
@DiplomacyNotWar,我不同意。可能这样有几个原因:1)编译器不可能实现(我怀疑)2)它是一个深奥的功能,不值得实现(我怀疑)3)如果实现,它将允许用户以某种方式搬起石头砸自己的脚(我假设是这样)。
1赞 freakish 8/19/2022
IMO,最合理的解释是(几乎)没有人关心这个功能。由于别名不如泛型和接口有用,因此它们在编译后将不复存在。
2赞 Damien_The_Unbeliever 8/19/2022
请记住,每个功能都以负 100 分开始。这并不是说你“不被允许”,而是没有人提供足够令人信服的理由来解释为什么这个功能应该先于许多其他功能开发。

答: 暂无答案