如何在C#中执行以下操作?写这段代码的第一行的正确方法是什么?如何在C#中为泛型类创建别名?
using KVP<K, V> = System.Collections.Generic.KeyValuePair<K, V>;
class C { KVP<int, string> x; }
如何在C#中执行以下操作?写这段代码的第一行的正确方法是什么?如何在C#中为泛型类创建别名?
using KVP<K, V> = System.Collections.Generic.KeyValuePair<K, V>;
class C { KVP<int, string> x; }
你基本上不能。您只能使用固定的别名,如:
using Foo = System.Collections.Generic.KeyValuePair<int, string>;
class C { Foo x; }
drat,这是不幸的 – yoyo 2011-12-17 01:32:00
在某些情况下,你可以继承去:
public class MyList<T1, T2> : List<Tuple<IEnumerable<HashSet<T1>>, IComparable<T2>>> { }
public void Meth()
{
var x = new MyList<int, bool>();
}
虽然不是你的具体情况,如KeyValuePair是:-(密封
正如Eric Lippert所说[这里](http://stackoverflow.com/q/3720222/303290)“这是一个偶尔需要的功能。”它尚未投入生产。 – mbx 2013-07-04 13:35:00