假设我有一个如下课程:
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;
})();
这看似合法,所以也许它正在起作用,只是抱怨......
答案 0 :(得分:0)
您使用的是Typescript 0.8.3吗?你的代码编译好我。如果错误发生在其他地方,请尝试将它们定义为“公共静态”
答案 1 :(得分:0)
将该代码粘贴到Playground(http://www.typescriptlang.org/playground)中没有显示任何错误或警告,并且这与MSI运行相同的0.8.3位。如果你只看到这个代码的错误,我会卸载/重新安装,因为除非这是一个更大的项目的一部分,并且错误发生在其他地方,所以安装中的某些内容似乎是不合适的。