获取Typescript中泛型类型的内部类型

获取Typescript中泛型类型的内部类型,typescript,Typescript,如何在Typescript中获取泛型类型的内部类型?那么myType的T 例如: export class MyClass { myMethod(): Observable<{ prop1: string, ... }> { .... } } type myClassReturn = ReturnType<MyClass['myMethod']>; // Sets the type to 'Observable<{ prop1: string, .

如何在Typescript中获取泛型类型的内部类型?那么
myType
T

例如:

export class MyClass {
  myMethod(): Observable<{ prop1: string, ... }> {
    ....
  }
}

type myClassReturn = ReturnType<MyClass['myMethod']>;
// Sets the type to 'Observable<{ prop1: string, ... }>'. 
// How do I set this to just '{ prop1: string, ... }'?
导出类MyClass{
myMethod():可观察{
....
}
}
类型myClassReturn=ReturnType;
//将类型设置为“可观察”。
//如何将其设置为“{prop1:string,…}”?

谢谢

您可以使用
推断
关键字从泛型类型中获取类型参数。考虑:

type GetInsideObservable<X> = X extends Observable<infer I> ? I : never;

// in your case it would be:
type A = GetInsideObservable<ReturnType<MyClass['myMethod']>> // { prop1: string, ... }
类型GetInsideObservable=X扩展可观察?I:从来没有;
//在您的情况下,它将是:
类型A=GetInsideObservable/{prop1:string,…}

您可以使用
推断
关键字从泛型类型获取类型参数。考虑:

type GetInsideObservable<X> = X extends Observable<infer I> ? I : never;

// in your case it would be:
type A = GetInsideObservable<ReturnType<MyClass['myMethod']>> // { prop1: string, ... }
类型GetInsideObservable=X扩展可观察?I:从来没有;
//在您的情况下,它将是:
类型A=GetInsideObservable/{prop1:string,…}