我查看了很多示例c#泛型代码,并记得看到一个语法声明技巧,为长泛型字典类型创建了另一种简写类型。混合使用C#和C ++就像:
typedef MyIndex as Dictionary< MyKey, MyClass>;
然后允许以下用法:
class Foo
{
MyIndex _classCache = new MyIndex();
}
有人可以提醒我哪个C#lanaguage功能支持这个吗?
答案 0 :(得分:9)
这就是using directive的另一种形式,用于定义别名。
using MyClass = System.Collections.Generic.Dictionary<string, int>;
namespace MyClassExample
{
class Program
{
static void Main(string[] args)
{
var instanceOfDictionaryStringInt = new MyClass();
}
}
}
答案 1 :(得分:4)
using MyIndex = Dictionary<MyKey, MyClass>;
答案 2 :(得分:2)
这是一个如何完成的例子
using Test = System.Collections.Generic.Dictionary<int, string>;
namespace TestConsole
{
class Program
{
static void Main(string[] args)
{
Test myDictionary = new Test();
myDictionary.Add(1, "One");
}
}
}