打字稿:使用静态/未命名函数实现接口

时间:2015-05-29 10:35:59

标签: typescript

我需要实现d.ts文件的以下(简化)Typescript接口:

interface SomeLibrary {
    someProperty: SomePropertyClass;
    someMethod();
    (someParam: string): SomeClass; // don't know hot to implement this
}

如何在自己的类中实现此接口?特别是未命名的方法是有问题的。这些方法是如何调用的?

1 个答案:

答案 0 :(得分:2)

TypeScript中的类无法满足您显示的界面。

通常会创建这样的接口来描述使用不同模式的库。

如何满足界面的一个示例如下所示:

var example: SomeLibrary = <any> function(someParam: string) {
    console.log('function called');
    return new SomeClass();
}
example.someProperty = new SomePropertyClass();
example.someMethod = function () { console.log('method called'); };

var x = example('x');
var y = example.someProperty;
var z = example.someMethod();