【发布时间】:2018-04-23 22:38:48
【问题描述】:
我们正在通过 Web API 2 从 C# 后端向我们的客户端浏览器发送一个 64 位枚举。应用程序的要求之一是它应该在 Windows 10 x64 with ie11 上运行。但是,当我启动ie11 时,我会得到两个进程,一个是 64 位的,一个是 32 位的。 64 位枚举是否可以与 ie11 一起使用?如果 enum 选项不能处理超过 32 个标志,我们不想使用它。
我们使用TypeScript 来处理标志并使用 Webpack 将其编译为 ES5。
What are enum Flags in TypeScript?
我们使用 TypeLITE 来生成 TypeScript 定义。
http://type.litesolutions.net/
C#模型:
[Flags]
[TsEnum(Module = "Application")]
public enum ValidationErrorType : Int64
{
None = 0,
NoCaseForRenewalCycle = 1 << 0, // 1
RegistrationNumberExists = 1 << 1, // 2
ApplicationNumberMissing = 1 << 2, // 4
FeeCalculationNoPrice = 1 << 3, // 8
//...
}
TypeLite.Net4、Enums.ts:
namespace Application {
export const enum ValidationErrorType {
None = 0,
NoCaseForRenewalCycle = 1,
RegistrationNumberExists = 2,
ApplicationNumberMissing = 4,
FeeCalculationNoPrice = 8
}
}
【问题讨论】:
-
你能显示你的 64 位枚举的定义吗?
-
@Evk 更新了模型
标签: javascript c# typescript internet-explorer internet-explorer-11