【发布时间】:2018-11-05 17:07:38
【问题描述】:
我有一个实现接口IField的类
export class FieldImplementation implements IField { };
还有一个存储类型的服务:
import { FieldImplementation } from '../component';
...
service.addField(FieldImplementation);
我需要确保传递给addField 的参数实现IField。
目前addField 看起来像这样:
addField(field: any) {
...
}
【问题讨论】:
-
您希望参数是生成
IField对象的类构造函数吗?那将是addField(field: new(...args: any[])=>IField)。您对该构造函数的参数数量有限制吗? -
“我仍然可以传递其他不实现 IField 的类”。请给我们看看。我认为
IField是空的(这是一个关于structural typing 变相的问题)或者其他事情正在发生。我认为无论哪种方式,我们都需要查看更多代码。 -
“只能传递一个参数”什么类型的参数?如果不清楚,我会询问
constructor()内的任何class和implements IField的参数。 -
@jcalz 其实我很抱歉。它确实有效。如果您创建一个答案,我会接受它。谢谢
标签: typescript