Подтвердить что ты не робот

Как создать псевдоним для общего класса в С#?

Как я могу сделать следующее в С#? Каков правильный способ записи первой строки этого фрагмента кода?

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

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

Ответ 1

Вы не можете, в принципе. Вы можете использовать только фиксированные псевдонимы, например:

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

class C { Foo x; }

Ответ 2

В некоторых случаях вы можете перейти с наследованием:

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

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

Хотя не в вашем конкретном случае, поскольку KeyValuePair запечатан: - (