小编Moh*_*lal的帖子

如何推断实现接口的类类型

给定一个接口:

interface IAnInterface {

}
Run Code Online (Sandbox Code Playgroud)

如何引用并指向实现该接口的类类型?

含义,给定一个类:

class AClassThatImplmentsAnInterface implements IAnInterface {

}
Run Code Online (Sandbox Code Playgroud)

如何引用属于类类型的类型?如果只是类,我们可以使用typeof

typeof AClassThatImplementsAnInterface
Run Code Online (Sandbox Code Playgroud)

但在接口级别,它指向所有实现该接口的类:

typeof IAnInterface
Run Code Online (Sandbox Code Playgroud)

给出错误:

'IAnInterface' only refers to a type, but is being used as a value here. (2693)
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情:

type IClassTypeMapping = {
 [names in SomeLiteralStringUnion]: Class<IAnInterface>
}
Run Code Online (Sandbox Code Playgroud)

当然ClassTypeScript 中不存在。如何引用 的等效项Class<IAnInterface>?在 TypeScript 中是否有可能?

typescript

3
推荐指数
1
解决办法
3344
查看次数

标签 统计

typescript ×1