J#对象参考

时间:2011-12-02 10:30:35

标签: c# reference dllimport j# visualj#

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

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

  

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

任何人都有使用j#的经验并且知道如何发送对方法的引用(或者在方法中定义类型作为参考)

1 个答案:

答案 0 :(得分:1)

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

所有内容都通过真正的 Java中的值传递,并且可能也在J#中传递。

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

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