2013-02-14 45 views
0

這裏是我的代碼:對象未初始化[.NET業務連接器]

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對象的初始化過程中拋出的錯誤?請幫助。

+0

你可以嘗試用'AxaptaObject dict =(AxaptaObject)DynAx.CallStaticClassMethod(「Dictionary」)替換第一行;'' – user1416420 2013-02-14 06:37:19

回答

1

Got it!

代碼如下:

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 ++代碼。我不確定性能因素。