如何从另一个容器中获取一个容器?

时间:2016-07-29 11:19:14

标签: axapta microsoft-dynamics x++ dynamics-ax-2012-r3

我有一个包含许多物品的容器,其中一些物品是容器。 我需要获得那些内部容器。什么是最好的做法?

我的解决方案对我来说有点难看:(

container a = [1, 2, ["one","two","three"]];
container b;
int i;
;

for (i = 1; i <= conLen(a); i++)
{
    try
    {
        b = conPeek(a, i);
        info(strFmt("%1", conPeek(b,1)));//here should be some logic with b items
    }
    catch
    {
         info(strFmt("NOT A CONTAINER %1",  conPeek(a, i)));
    }
}

提前致谢!

2 个答案:

答案 0 :(得分:5)

请尝试以下

...
if (typeof(conPeek(a, i)) == Types::Container)
{
    info("It's a container");
}
...

答案 1 :(得分:1)

好的,这真的很容易。但也许这将对未来的某些人有所帮助。

  if(typeOf(conPeek(a, i)) == Types::Container)
  {
        b = conPeek(a, i);
        info(strFmt("%1", conPeek(b,1)));
  }