4
當這行代碼被執行System.ExecutionEngineException被拋出
retobj = Marshal.PtrToStructure(buffer, anytype);
我不知道是什麼原因造成這一點,因爲此異常被拋出,應用程序,我試圖運行工作正常與其他開發人員機器在這裏。
public static object RawDeserialize(byte[] rawdatas, Type anytype)
{
int rawsize = Marshal.SizeOf(anytype);
if (rawsize > rawdatas.Length)
{
return null;
}
IntPtr buffer = Marshal.AllocHGlobal(rawsize);
object retobj = null;
try
{
Marshal.Copy(rawdatas, 0, buffer, rawsize);
retobj = Marshal.PtrToStructure(buffer, anytype);
}
finally
{
Marshal.FreeHGlobal(buffer);
}
return retobj;
}
我試圖修復.NET Compact Framework的多次,似乎沒有任何工作,沒有人知道解決這個嗎?
提供有關異常(以及任何'InnerException')的更多信息。 – Jon 2011-03-10 14:10:05
異常在InnerException中是否有更多信息? – 2011-03-10 14:10:27
內部異常爲空。 '公共靜態對象RawDeserialize(字節[] rawdatas,anytype類型) \t \t { \t \t \t INT rawsize = Marshal.SizeOf(anytype類型); \t \t \t如果(rawsize> rawdatas.Length) \t \t \t \t返回NULL; \t \t \t IntPtr buffer = Marshal.AllocHGlobal(rawsize); \t \t \t \t \t \t object retobj = null; \t \t \t嘗試 \t \t \t { \t \t \t \t元帥。複製(rawdatas,0,buffer,rawsize); \t \t \t \t retobj = Marshal.PtrToStructure(buffer,anytype); \t \t \t} \t \t \t最後 \t \t \t { \t \t \t \t Marshal.FreeHGlobal(緩衝液); \t \t \t} \t \t \t return retobj; \t \t}' 這是包含該行的功能。除此之外,我不能提供任何更多的信息。 – user501211 2011-03-10 14:35:25