我有一个声明方法的接口。该方法接受一些参数,其中一个参数必须是实现另一个接口的任何对象。我该怎么做这个检查?
interface SkematicValidatorInterface {
validate(resource: SkematicModelInterface, value:any);
}
正如您可能已经猜到的那样,在我的代码中的某个地方,我有另一个名为SkematicModelInterface
的接口,它必须是传递的每个resource
的基础。
答案 0 :(得分:0)
该方法接受一些参数,其中一个参数必须是实现另一个接口的任何对象...我有另一个名为
SkematicModelInterface
的接口,它必须是传递的每个资源的基础......我怎么能做这个检查?
您的界面:
interface SkematicValidatorInterface {
validate(callback: (resource: SkematicModelInterface, value:any) => void) : void;
}
正是您正在寻找的支票。
interface SkematicModelInterface{
data: string;
}
interface SkematicValidatorInterface {
validate(callback: (resource: SkematicModelInterface, value:any) => void) : void;
}
var foo: SkematicValidatorInterface;
var c1 = (resource: number, value: any) => null;
var c2 = (resource: SkematicModelInterface, value: any) => null;
foo.validate(c1); // Error
foo.validate(c2); // Okay