如何在C#中为泛型类创建别名?

时间:2009-01-11 20:49:10

标签: c# generics syntax

如何在C#中执行以下操作?编写此代码段的第一行的正确方法是什么?

using KVP<K, V> = System.Collections.Generic.KeyValuePair<K, V>;

class C { KVP<int, string> x; }

2 个答案:

答案 0 :(得分:39)

基本上,你不能。您只能使用固定别名,例如:

using Foo = System.Collections.Generic.KeyValuePair<int, string>;

class C { Foo x; }

答案 1 :(得分:1)

在某些情况下,您可以使用继承:

public class MyList<T1, T2> : List<Tuple<IEnumerable<HashSet<T1>>, IComparable<T2>>> { }

public void Meth()
{
    var x = new MyList<int, bool>();
}

虽然不是在你的特定情况下,因为KeyValuePair是密封的: - (