我想测试DOORs对象的枚举属性的值。如何才能做到这一点?我在哪里可以找到描述这样基本功能的DXL文档?
if (o."Progress" == 0) // This does NOT work
{
// do something
}
答案 0 :(得分:4)
所以经过两个星期和一个过期的赏金我终于成功了。 可以根据需要将枚举属性分配给int或字符串变量。但您必须分配给变量才能执行此类转换。当像我的例子中那样仅进行比较时,它不会被投射。所以这就是解决方案:
int tmp = o."Progress"
if (tmp == 0)
{
// do something
}
当tmp
是一个字符串时,可以与枚举文字进行比较。
这很容易。不是吗? here我终于找到了所有你需要知道的DXL手册。
答案 1 :(得分:2)
您也可以
if(o."Progress" "" == "0")
{
//do something
}
这会将属性值强制转换为字符串,并将其与字符串"0"
答案 2 :(得分:2)
对于多值枚举,最佳方法是if (isMember(o."Progress", "0")) {
。单枚举变量和多枚举变量的可能枚举被认为是字符串,因此Steve的解决方案是单枚举的最佳dxl方式。
答案 3 :(得分:-1)
如果您正在谈论"相关号码"可以从“编辑类型”框中分配,然后您需要首先获取枚举字符串在枚举中的位置,然后检索EnumName[k].value
。
我不是DXL的专家,所以找到我所知道的索引的唯一方法是循环1 : EnumName.size
并且当你得到枚举字符串的匹配,使用该循环索引值来检索枚举"相关数字。"