将方法从java转换为C#.net

时间:2010-07-15 10:18:28

标签: c# java

我在Java中有一个方法:

public int getInt() {
IntByReference ibr = new IntByReference();
if (CFLib.INSTANCE.CFNumberGetValue(this, 4, ibr))
  return ibr.getValue();
return -1;  }

这里是参考:

http://developer.apple.com/iphone/library/documentation/CoreFoundation/Reference/CFNumberRef/Reference/reference.html

我如何才能将其完全复制到C#.net?

1 个答案:

答案 0 :(得分:1)

那4对应于枚举值kCFNumberSInt64Type。为什么被卡入(32位)整数?无论如何,看起来CFNumberGetValue想要void*(C ++)作为第三个参数。

public int getInt() {
    int i;
    if (CFLib.INSTANCE.CFNumberGetValue(this, kCFNumberSInt32Type, (IntPtr)i))
        return i;
    return -1;
}

我不知道是否需要对第一个参数做任何事情,因为我不知道this是什么。