【发布时间】:2012-06-05 13:06:38
【问题描述】:
我有一个 MS Dynamics AX 2012 项目,我正在使用 .Net 互操作。
static class 中有一个 C# 方法,名为 Database:
public static List<String> GetAllDatabases(string dataSource)
引用这个程序集后,我可以在X++中执行:
ADOMD.ADOMD.Model.Database::GetAllDatabases();
但我无法读取它返回的字符串列表。 我想使用类似的东西:
List databaNameCollection = new List( Types::String );
;
databaNameCollection = ADOMD.ADOMD.Model.Database::GetAllDatabases();
但它会引发错误:
Error executing code: (object) has no valid runable code in method 'GetSID'.
我该怎么做?
-------已编辑------
我找到了这篇文章:
http://blogs.msdn.com/b/x/archive/2010/01/19/traversing-elements-in-an-ienumerable-from-x.aspx
但那是在 2010 年,可能是 AX 2009,我试图分配:
ClrObject enumerator;
str theValue;
;
enumerator = ADOMD.ADOMD.Model.Database::GetAllDatabases();
while (enumerator.MoveNext())
{
theValue = enumerator.get_Current();
print theValue;
}
GetallDatabases 方法正在与另一个 .Net 项目一起使用,它返回 10 个对象,但在 X++ 代码中,没有返回任何内容。
谢谢
【问题讨论】:
标签: c# interop axapta x++ dynamics-ax-2012