0

私が以下のようなクラスを持っているとしましょう:

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;
        })();     

これは合法的に見えるので、おそらくそれは機能していて、ただ不平を言っています...

4

2 に答える 2

0

Typescript 0.8.3を使用していますか?あなたのコードは私のためにうまくコンパイルされます。エラーが他の場所で発生している場合は、それらを「publicstatic」として定義してみてください

于 2013-03-24T21:07:36.813 に答える
0

そのコードをPlayground( http://www.typescriptlang.org/playground )に貼り付けると、エラーや警告は表示されません。これは、MSIと同じ0.8.3ビットを実行しています。これがより大きなプロジェクトの一部であり、エラーが他の場所で発生している場合を除いて、このコードだけでエラーが発生した場合は、アンインストール/再インストールします。

于 2013-03-25T16:33:36.173 に答える