将方法从java转换为C#.net
我有一个Java方法:将方法从java转换为C#.net,c#,java,C#,Java,我有一个Java方法: public int getInt() { IntByReference ibr = new IntByReference(); if (CFLib.INSTANCE.CFNumberGetValue(this, 4, ibr)) return ibr.getValue(); return -1; } 以下是参考资料: 如何准确地为C#.net复制该值?其中4对应于枚举值kCFNumberSInt64Type。为什么会被压缩成(32位)整数?无论如何,它看起来像
public int getInt() {
IntByReference ibr = new IntByReference();
if (CFLib.INSTANCE.CFNumberGetValue(this, 4, ibr))
return ibr.getValue();
return -1; }
以下是参考资料:
如何准确地为C#.net复制该值?其中4对应于枚举值
kCFNumberSInt64Type
。为什么会被压缩成(32位)整数?无论如何,它看起来像是cfNumberTargetValue
想要一个void*
(C++)作为它的第三个参数
public int getInt() {
int i;
if (CFLib.INSTANCE.CFNumberGetValue(this, kCFNumberSInt32Type, (IntPtr)i))
return i;
return -1;
}
我不知道是否需要对第一个参数执行任何操作,因为我不知道这是什么。问题是,C#中没有CFLib,所以我必须找到另一种方法来执行。“这个”是一个值,它应该被转换,如果你不打算使用核心基础库,那么只需替换所有的CFNT引用和调用等价的C元素。在这种情况下,您的整个类(无论此是什么)都应该替换为int(或
long
)。