我必须在工作中使用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上运行)...

10-08 13:43