属性目标C# - 如何将具有属性目标的代码移植到Java中?

时间:2012-07-12 21:53:13

标签: c# java porting

首先,我们在这里讨论Keepass 相关文件是:KeePass-2.19-Source\KeePass\Native\NativeMethods.cs

代码......好吧,就是文件本身。但这是一个片段:

    [DllImport("KeePassLibC32.dll", EntryPoint = "TransformKey256")]
    [return: MarshalAs(UnmanagedType.Bool)]
    private static extern bool TransformKey32(IntPtr pBuf256,
        IntPtr pKey256, UInt64 uRounds);  

现在的问题是,Java不支持Attribute Targets。如何将文件移植到Java中? 可能吗?如果是这样......怎么样?

2 个答案:

答案 0 :(得分:0)

据我所知,Java也不支持P / Invoke,因此属性目标对你没有帮助......你应该能够用JNI实现相同的结果,但这段代码不能字面意思地从C#翻译。

答案 1 :(得分:0)

Java 支持支持属性目标(但它们是“注释”目标):http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/annotation/Target.html

但这对你没什么帮助...除非你打算发明你自己的DllImport,它以某种方式使用JNI ...通过像JSR-299这样的东西