向typescript中的类动态添加方法

向typescript中的类动态添加方法,typescript,Typescript,我正在尝试将一个方法动态地注入到typescript中的外部类中。 我正在犯错误 错误TS2339:类型“extclass”上不存在属性“modifyLogger” 代码: extclass['modifyLogger'] = function(mylogger:any){ } interface extclass{ modifyLogger(): void; } let obj = new extclass();

我正在尝试将一个方法动态地注入到typescript中的外部类中。 我正在犯错误

错误TS2339:类型“extclass”上不存在属性“modifyLogger”

代码:

    extclass['modifyLogger'] = function(mylogger:any){

     }

    interface extclass{
        modifyLogger(): void;
     }


     let obj = new extclass();
      obj.modifyLogger(log);
上面的代码给了我一个错误

我在这里遗漏了什么?

您应该使用

extclass.prototype['modifyLogger']=函数(mylogger:any){}

代替上面的代码

另外,请更正接口中modifyLogger()的声明,该接口应接受一个参数

interface extclass{
    modifyLogger(arg: any): void;
}
更新 请参阅更新的


即使在做了上述更改之后,我也会遇到同样的错误。请看一下打字脚本。我已经把密码放好了。你能检查一下吗?
类Extclass{test(){}}接口Extclass{modifyLogger():void;}Extclass.prototype['modifyLogger']=()=>{alert('Hi');}var obj=new Extclass();obj.modifyLogger()
class Extclass { 
    test() {

    }
}
interface Extclass {
    modifyLogger(): void;
}

class Test {
    constructor() { 
        Extclass.prototype['modifyLogger'] = function () {
            alert('hi');
        }
        var obj = new Extclass();
        obj.modifyLogger();
    }
}

var t = new Test();