我正在使用一個名爲GetImage的函數的COM對象。如何獲取System.Object中的數據
http://www.pdf-tools.com/asp/products.asp?name=P2IA
當我用它在Visual Studio 2008中返回的byte [],但是當我在公司的RAD Studio 2007中使用它,它會返回System.Object的。我怎樣才能從System.Object的數據到一個字節[]?
我正在使用一個名爲GetImage的函數的COM對象。如何獲取System.Object中的數據
http://www.pdf-tools.com/asp/products.asp?name=P2IA
當我用它在Visual Studio 2008中返回的byte [],但是當我在公司的RAD Studio 2007中使用它,它會返回System.Object的。我怎樣才能從System.Object的數據到一個字節[]?
Object本身的實例中沒有數據。但是,由於對象從Object繼承,因此它們可能會被Object引用引用。要從實例中獲取數據(假設有),您必須將引用轉換爲適當的類型。
你能嘗試使用此功能,看看它的工作原理:
public byte[] ToByteArray(object obj)
{
int length = Marshal.SizeOf(obj);
byte[] byteArray = new byte[length];
IntPtr ptr = Marshal.AllocHGlobal(length);
Marshal.StructureToPtr(obj, ptr, false);
Marshal.Copy(ptr, byteArray, 0, length);
Marshal.FreeHGlobal(ptr);
return byteArray;
}