2010-07-15 77 views

回答

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

+0

問題是,在C#中沒有CFLib,所以我必須找到另一種方法來做到這一點。 「This」是應該轉換的值 – Kovu 2010-07-15 11:07:31

+0

如果您不打算使用Core Foundation庫,那麼請將所有CFNumber引用和調用替換爲等效的C#基元。這種情況下,它看起來像你的整個類(不管這個是什麼)應該用int(或者long)來代替。 – Gunslinger47 2010-07-15 18:30:15