如何在typescript中声明私有类成员的参数和返回类型?

时间:2015-01-17 23:23:18

标签: javascript typescript

我试图从vanilla javascript转换一些代码,其中一部分需要将函数存储为私有类成员。我试图弄清楚这个的正确语法,但似乎无法做到正确。

我最想说的是:

module MyModule {
    export class MyClass {
        private myLocalReferenceToTheFunction: Function<T>(serverCall: (...args: any[]) => ng.IPromise<T>): ng.IPromise<T>;

        constructor(myOtherService: OtherService) {
           this.myLocalReferenceToTheFunction = myOtherService.serviceFunction;
        }
    }
}

private myLocalReferenceToTheFunction...行的正确语法是什么?

切线,如果这是完全错误的做法,我会很感激。实际上,我唯一的目标是能够在myLocalReferenceToTheFunction内的函数中使用MyClass

2 个答案:

答案 0 :(得分:3)

在我看来,这就是您正在尝试做的事情:

module MyModule {
    export class MyClass<T> {
        private myLocalReferenceToTheFunction: (serverCall: (...args: any[]) => ng.IPromise<T>) => ng.IPromise<T>;

        constructor(myOtherService: OtherService) {
            this.myLocalReferenceToTheFunction = myOtherService.serviceFunction;
        }
    }
}

我很难确定这是你所需要的 看到OtherService的定义会有所帮助。

答案 1 :(得分:0)

这样的东西?

var MyModule = function() {
    return {
        MyClass : function () {
            var myLocalReferenceToTheFunction;
            var constructor = function(myOtherService) {
                myLocalReferenceToTheFunction = myOtherService;
            };
            return constructor;
        }()
    };
}();