0

这是我的代码:

AxaptaObject dict = (AxaptaObject)DynAx.CallStaticClassMethod("Dictionary", "new");
object id = (object)dict.Call("enumName2Id", "TimeZone");
AxaptaObject dictEnum = (AxaptaObject)DynAx.CallStaticClassMethod("DictEnum", "new", id);
string s = (string)dictEnum.Call("index2Label", "2");

我收到以下错误:

Error executing code: Dictionary object not initialized.

为什么在 Dictionary 对象的初始化过程中会抛出该错误?请帮忙。

4

1 回答 1

1

知道了!

代码如下:

int enumId = (int)ax.CallStaticClassMethod("Global", "enumName2Id", enumName);
AxaptaObject dictEnum = (AxaptaObject)ax.CreateAxaptaObject("DictEnum", enumId);
return (string)dictEnum.Call("index2Label", index);

您必须使用“AxaptaObj.CreateAxaptaObject”。通过这种方式,您可以间接地用 C# 编写 X++ 代码来完成诸如此类的小型工作。我不确定性能因素。

于 2013-02-14T07:18:05.270 回答