给定接口

interface FooWithBar {
    ():void;
    bar():void;
}

如何编写实现?
function foo(){

}
foo.bar = function(){

};

不起作用,因为它抛出错误,“属性”栏不存在于类型“()=空”。但是,如果我声明foo的类型为FooWithBar
````
var foo:fooWithBar=函数(){
};
foo.bar = function () {

};

````
我得到另一个错误,“type'()=>void”不能分配给类型'foowthbar'。类型“()=>void”中缺少属性“bar”。
我该怎么解决这个第22条?

最佳答案

function FooWithBar() {
  // ...
}
module FooWithBar { // n.b. can use 'namespace' keyword here instead of 'module' if you like
  export function bar() {
    // ...
  }
}

这是一些避免出现在“仅代码应答”评审队列中的文本。

08-08 03:32