簡體   English   中英

您可以在TypeScript的本地方法中訪問本地靜態變量嗎?

[英]Can you access local static variables within local method in TypeScript?

可以說我有一個像下面這樣的課程:

class Types
{
    static TypeOne = 1;
    static TypeTwo = 2;
    static TypeThree = 3;
    static TypeFour = 4;
    static TypeFive = 5;

    public GetNameFromType(type: number) : string
    {
        switch (type)
        {
            case Types.TypeOne: return "TypeOne";
            case Types.TypeTwo: return "TypeTwo";
            case Types.TypeThree: return "TypeThree";
            case Types.TypeFour: return "TypeFour";
            case Types.TypeFive: return "TypeFive";
            default: return "Unknown";
        }
    }
}

現在,在閱讀了有關靜態類的一些文檔之后,以上內容似乎應該可以工作了。 但是我總是收到錯誤消息,說Types.TypeOne在當前作用域中不存在。

那么,我是否需要做其他事情還是應該工作?

==編輯==

我不認為由於錯誤,它沒有為它輸出任何東西,但是看起來它有,這是輸出:

var Types = (function () {
            function Types() { }
            Types.TypeOne = 1;
            Types.TypeTwo = 2;
            Types.TypeThree = 3;
            Types.TypeFour = 4;
            Types.TypeFive = 5;
            Types.TypeSix = 6;
            Types.prototype.GetNameFromType = function (type) {
                switch(type) {
                    case AbilityTypes.TypeOne:
                        return "TypeOne";
                    case AbilityTypes.TypeTwo:
                        return "TypeTwo";
                    case AbilityTypes.TypeThree:
                        return "TypeThree";
                    case AbilityTypes.TypeFour:
                        return "TypeFour";
                    case AbilityTypes.TypeFive:
                        return "TypeFive";
                    case AbilityTypes.TypeSix:
                        return "TypeSix";
                    default:
                        return "Unknown";
                }
            };
            return Types;
        })();     

這看起來合法,所以也許它正在工作並且只是在抱怨...

您正在使用Typescript 0.8.3嗎? 您的代碼對我來說很好。 如果錯誤發生在其他地方,請嘗試將其定義為“公共靜態”

將該代碼粘貼到Playground( http://www.typescriptlang.org/playground )中對我來說沒有任何錯誤或警告,並且它與MSI的運行速度相同,為0.8.3位。 如果您僅通過此代碼看到錯誤,我將卸載/重新安裝,因為除非這是一個較大的項目的一部分並且該錯誤發生在其他地方,那么似乎安裝中的某些內容一定不可行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM