Axapta 在Dynamics AX中循环列表时对象未初始化错误?

Axapta 在Dynamics AX中循环列表时对象未初始化错误?,axapta,ax,dynamics-ax-2012,Axapta,Ax,Dynamics Ax 2012,问题是: 我有一个以对象为元素的列表 我使用枚举器在列表上循环 循环时,我将元素分配给与元素类型相同的变量对象 当我调用对象上的方法时,但收到以下错误消息: MyClass对象未初始化 我想我必须投,但不知道如何在动态AX中做到这一点 我在MS Dynamics AX 2012中开发 MyExampleDataContract exampleDataContract = new MyExampleDataContract(); while (listEnumerator.moveNext()

问题是:

  • 我有一个以对象为元素的列表
  • 我使用枚举器在列表上循环
  • 循环时,我将元素分配给与元素类型相同的变量对象
  • 当我调用对象上的方法时,但收到以下错误消息:
MyClass对象未初始化

我想我必须投,但不知道如何在动态AX中做到这一点

我在MS Dynamics AX 2012中开发

MyExampleDataContract exampleDataContract = new MyExampleDataContract();
while (listEnumerator.moveNext())
{
    exampleDataContract = listEnumerator.current();
    info(exampleDataContract.parmCustomerId()); //This gives an error.
}

列表元素可以为空

List l = new List(Types::Class);
;
l.addEnd(null);
info(int2str(l.elements()));

解决方案是:在列表中插入元素之前,应该先实例化它们

for (counter = 1; counter <= 3; counter++)
{
    exampleDataContract = new MyExampleDataContract(); // This is what I missed :)
    exampleDataContract.init("DEV-000000000" + int2str(counter));
    myList.addEnd(exampleDataContract);
}

for(counter=1;这里是counter:),您能告诉我如何在AX中强制转换吗?显示填充列表的代码。
exampleDataContract=listEnumerator.current()作为MyExampleDataContract不需要新的。现在它说:当前类型必须指定兼容的类、接口或表。我使用了调试器,并注意到ListNumerator没有未初始化