【问题标题】:typeof equivalent of .NET for ABL Progress Openedgetypeof 等效于 ABL Progress Openedge 的 .NET
【发布时间】:2018-02-14 13:18:11
【问题描述】:

我已将 System.Messaging 添加到我的 components.xml 中,因为我需要在我的 Progress OpenEdge 应用程序中使用它。但是我遇到了一个问题。

在 C# 中赋值时:

m.Formatter = new XmlMessageFormatter(new[] { typeof(TrowConfiguration) });
TrowConfiguration myConfiguration = m.Body as TrowConfiguration;

但是我现在想在 ABL 中执行此操作。我首先使用一种方法来读取字符串,然后将CHARACTER EXTENT 1 INITIAL "System.String" 传递给 XmlMessageFormatter 对象。但是我尝试将其更改为我的对象 TrowConfiguration 的路径,但这不起作用并给我一个错误。

【问题讨论】:

    标签: openedge progress-4gl


    【解决方案1】:

    如果您正在寻找 System.Type 参考,请使用

    Progress.Util.TypeHelper:GetType ("<your fully qualified type name>").

    【讨论】:

    • 您好,我正在使用您的框架来反序列化对象,typeof 现在正在工作,但是当我这样做时,我收到此错误:无法动态找到类 'List'。
    • List 在哪里引用?在 XML 字符串中?听起来应该作为完整的类型名称来引用。不是缩写。
    • 您必须完全坚持使用 .NET 类型。 .NET XmlMessageFormatter 根本不了解 ABL 类型/类。所以请改用 System.Collections.List。
    • 我真的不明白很抱歉...对 abl 和您的框架来说很新。但是,当我在 XMLMessageFormatter 中使用“System.String”时,我可以访问此消息的正文并将其放入 longchar(OP 中的图像)中,为什么我不能反序列化呢?
    猜你喜欢
    • 2011-12-02
    • 2012-03-19
    • 2014-03-19
    • 1970-01-01
    • 2018-08-25
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    相关资源
    最近更新 更多