X++ "invalid token" message when calling c# library (How to call the method correctly)
X++ "invalid token" message when calling c# library (How to call the method correctly)
我正在尝试使用 x++ 代码创建 excel 文件。但是,我收到编译错误“无效令牌”,即使输入代码时智能感知都可以正常工作。在 x++ 中为 OfficeOpenXml 类(通常像这样的 c# 库调用 Add() 方法的正确方法是什么?)
using OfficeOpenXml;
using OfficeOpenXml.ExcelPackage;
using OfficeOpenXml.ExcelRange;
class ExcelTestClass
{
public static void main(Args _args)
{
using (ExcelPackage excel = new ExcelPackage())
{
excel.Workbook.Worksheets.Add("Worksheet1");
}
}
}
当然,就在我屈服并在 SA 上提问时,我在谷歌搜索时偶然发现了答案。
正确的调用方式如下:
excel.get_Workbook().get_Worksheets().Add("Worksheet1");
来自这个 post:https://community.dynamics.com/ax/f/microsoft-dynamics-ax-forum/178373/calling-visual-studio-c-classes-in-x/438484 Martin Dráb 的回答。
从 Martin Dráb 的回答中添加一些背景细节:x++ 不支持直接使用 C#/.Net 库中的对象属性。您必须使用 set
和 get
方法来访问它们,这就是 excel.getWorkbook()
有效而 excel.Workbook
无效的原因。
其他一些限制是
- 您需要使用完全限定的名称
- 不支持泛型
找到更多信息
我正在尝试使用 x++ 代码创建 excel 文件。但是,我收到编译错误“无效令牌”,即使输入代码时智能感知都可以正常工作。在 x++ 中为 OfficeOpenXml 类(通常像这样的 c# 库调用 Add() 方法的正确方法是什么?)
using OfficeOpenXml;
using OfficeOpenXml.ExcelPackage;
using OfficeOpenXml.ExcelRange;
class ExcelTestClass
{
public static void main(Args _args)
{
using (ExcelPackage excel = new ExcelPackage())
{
excel.Workbook.Worksheets.Add("Worksheet1");
}
}
}
当然,就在我屈服并在 SA 上提问时,我在谷歌搜索时偶然发现了答案。
正确的调用方式如下:
excel.get_Workbook().get_Worksheets().Add("Worksheet1");
来自这个 post:https://community.dynamics.com/ax/f/microsoft-dynamics-ax-forum/178373/calling-visual-studio-c-classes-in-x/438484 Martin Dráb 的回答。
从 Martin Dráb 的回答中添加一些背景细节:x++ 不支持直接使用 C#/.Net 库中的对象属性。您必须使用 set
和 get
方法来访问它们,这就是 excel.getWorkbook()
有效而 excel.Workbook
无效的原因。
其他一些限制是
- 您需要使用完全限定的名称
- 不支持泛型