【问题标题】:J# Object ReferenceJ# 对象参考
【发布时间】:2011-12-02 10:30:34
【问题描述】:

我想将 c# 代码转换为 j#,并设法克服了 dllimport 和 marshalas。

问题是,当函数引用对象时,无法识别 ref

public static native int Mathod(ref Type type, int flags);

任何人都使用过 j# 并且知道如何将引用发送到方法(或在方法中定义类型作为引用)

【问题讨论】:

    标签: c# reference dllimport j# visualj#


    【解决方案1】:

    我很确定你不能直接这样做。

    real Java 中,所有东西都是按值传递的,大概在 J# 中也是如此。

    在 Java you can workaround the restriction by using AtomicReference 的最新版本中,但我非常怀疑 J# 是否足够最新以支持这一点。

    您可以尝试更改方法签名以接受单个元素 Type[] 数组,然后改变该数组元素。这将使您获得与ref 类似的结果。缺点是您需要更改调用站点和方法本身来包装和解开数组中的变量。 (尽管您可以创建自己的自定义类型来封装包装和展开,如果它可以简化事情。)

    【讨论】:

    • 我很确定 j# 没有变异。但我有一个头脑风暴:代码的目的不需要与我的程序不断交互。它在程序开始时运行一次,在程序结束时运行一次。我可以简单地通过我的 j# 应用程序运行这个程序并将我想要的参数传递给它。 (顺便说一句 - 这是一个更改屏幕分辨率以与我的应用程序兼容的功能)
    猜你喜欢
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    相关资源
    最近更新 更多