我必须在工作中使用Progress Openedge Architect,并且需要将一些C#代码转换为ABL代码(ABL是语言名称)。因此,我需要找到如何使用.NET属性修饰类,属性和方法。我搜索了本指南(http://documentation.progress.com/output/OpenEdge102b/pdfs/dvngm/dvngm.pdf),但在C#到ABL映射部分中没有提及装饰。
一个简单的C#示例:
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("9.75")]
public decimal POLICE {
get {
return ((decimal)(this["POLICE"]));
}
set {
this["POLICE"] = value;
}
}
感谢您的帮助!
亲切的问候,
加布里埃尔
最佳答案
不能在ABL代码中使用C#中的属性。您可以从C#类创建实例或继承它。
在这种情况下,我将使用C#代码创建此属性。然后,当需要时,我将在ABL中继承该类并进行一些包装。
直到允许10.2B仅在客户端上使用此C#类(程序必须在prowin32.exe上运行)...