最佳答案
是否可以将参数的类型设置为 Enum:
private getRandomElementOfEnum(e : enum):string{
var length:number = Object.keys(e).length;
return e[Math.floor((Math.random() * length)+1)];
}
编译引发以下错误:
预期的参数表达式
有了 any
,显然一切都很好:
private getRandomElementOfEnum(e : any):string{
var length:number = Object.keys(e).length;
return e[Math.floor((Math.random() * length)+1)];
}
这个代码工作得很好,但是不够优雅和类型安全。
将枚举定义为参数是否有可能或者有一些变通方法?