Как создать псевдоним для общего класса в С#? Как я могу сделать следующее в С#? Каков правильный способ записи первой строки этого фрагмента кода? using KVP<K, V> = System.Collections.Generic.KeyValuePair<K, V>; class C { KVP<int, string> x; } Ответ 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 запечатан: - (
Ответ 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 запечатан: - (