Ответ 1
Вы не можете, в принципе. Вы можете использовать только фиксированные псевдонимы, например:
using Foo = System.Collections.Generic.KeyValuePair<int, string>;
class C { Foo x; }
Как я могу сделать следующее в С#? Каков правильный способ записи первой строки этого фрагмента кода?
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; }
В некоторых случаях вы можете перейти с наследованием:
public class MyList<T1, T2> : List<Tuple<IEnumerable<HashSet<T1>>, IComparable<T2>>> { }
public void Meth()
{
var x = new MyList<int, bool>();
}
Хотя не в вашем конкретном случае, поскольку KeyValuePair запечатан: - (