Typescript 类型脚本泛型类型的泛型类型

Typescript 类型脚本泛型类型的泛型类型,typescript,generics,Typescript,Generics,是否可以传入需要另一个泛型类型的泛型类型?以下是我想做的: abstract class MyClass<Stream> { abstract doSomething1(): Stream<number> // TS error here: Stream does not take generic parameter abstract doSomething2(): Stream<string> // TS error here: Stream doe

是否可以传入需要另一个泛型类型的泛型类型?以下是我想做的:

abstract class MyClass<Stream> {
  abstract doSomething1(): Stream<number> // TS error here: Stream does not take generic parameter
  abstract doSomething2(): Stream<string> // TS error here: Stream does not take generic parameter
}

// Implementations of the abstract class:
class MyObservableClass extends MyClass<Observable> {
  doSomething1() { // returns Observable<number> }
  doSomething2() { // returns Observable<string> }
}

class MyPromiseClass extends MyClass<Promise> {
  doSomething1() { // returns Promise<number> }
  doSomething2() { // returns Promise<string> }
}
抽象类MyClass{
抽象doSomething1():Stream//TS错误:Stream不接受泛型参数
抽象doSomething2():Stream//TS错误:Stream不接受泛型参数
}
//抽象类的实现:
类MyObservableClass扩展了MyClass{
doSomething1(){//返回可观察的}
doSomething2(){//返回可观察的}
}
类MyPromiseClass扩展了MyClass{
doSomething1(){//返回承诺}
doSomething2(){//返回承诺}
}
我还尝试:

doSomething<Stream, T>(): Stream<T>
doSomething():流

但也不起作用。

回答自己:这还不可能(2019年1月)


这里讨论的问题是:

没有语法允许泛型类型参数本身是泛型的。谢谢@TitianCernicova Dragomir。它是TS限制,还是其他编程语言中的TS?有支持这种泛型类型参数的语言(Haskell,我相信,但我不确定),但它在主流语言中并不常见,例如C++或java。@ TitianCernicova Dragomir C++(我将认为主流语言)你应该接受你自己的答案,这很有帮助。