Как я могу создать псевдоним для универсального класса в C #? - PullRequest
36 голосов
/ 11 января 2009

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

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

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

Ответы [ 2 ]

39 голосов
/ 11 января 2009

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

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

class C { Foo x; }
1 голос
/ 31 января 2016

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...