【发布时间】:2011-01-22 16:53:48
【问题描述】:
我在 C# 中看到了很多关于 typedef 问题的答案,我已经使用过,所以我有:
using Foo = System.Collections.Generic.Queue<Bar>;
这很好用。我可以更改定义(尤其是更改 Bar => Zoo 等)并且使用 Foo 的所有内容都会更改。太好了。
现在我想让它工作:
using Foo = System.Collections.Generic.Queue<Bar>;
using FooMap = System.Collections.Generic.Dictionary<char, Foo>;
但 C# 似乎不喜欢第二行中的 Foo,尽管我已经在第一行中定义了它。
有没有办法将现有别名用作另一个别名的一部分?
编辑:我正在使用 VS2008
【问题讨论】:
-
同意 Codesleuth - 如果 Foo 是简单类型(如 System.Int32)的别名,它仍然会失败,所以我猜这是编译器错误。
-
@Codesleuth @Dan,想评论一下 Dave 的回答吗?