TypeScript (v3.1.3): алиасинг универсально типизированного интерфейса? - PullRequest
0 голосов
/ 30 октября 2018

Вот что мне нужно для машинописи. Спас бы меня огромное количество кодирования.

interface Base<T,TReturn>
{
   x():TReturn<T>

   y<TResult>():TReturn<TResult>
}

interface A<T> extends Base<T,Array>
{
}

interface B<T> extends Base<T,List>
{
}

Возможно ли это? Как я могу это сделать?

Базовый обзор, мне нужна структура интерфейса, чтобы я мог определить тип возвращаемого значения с данным параметром. Без вышеуказанной возможности я вынужден писать уникальные копии подписи интерфейса, например:

interface A<T,Array>
{
   x():Array<T>

   y<TResult>():Array<TResult>
}

interface B<T,List>
{
   x():List<T>

   y<TResult>():List<TResult>
}

1 Ответ

0 голосов
/ 30 октября 2018

Невозможно использовать универсальный в общем Ссылка . Но без этого вы можете сделать это. Fe: Детская площадка

...