2015-09-09 129 views
-1

如何保存並加載SlimDX.DirectInput.Joystick List到/從文件中? 我試圖保存遊戲杆列表

using (Stream stream = File.Open("joys.xml", FileMode.Create)) 
{ 
    var bformatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); 

    bformatter.Serialize(stream, usedsticks); 
} 

,但我有一個例外:

型 'System.Runtime.Serialization.SerializationException' 未處理的異常出現在mscorlib.dll

其他信息:典型SlimDX .DirectInput.Joystick vsestaveníSlimDX,Version = 4.0.13.43,Culture = neutral,PublicKeyToken = b1b0c32fd1ffe4f9neníoznačenjakoserializovatelný。

回答

0

我不說捷克語,但我想「Typ SlimDX.DirectInput.Joystickneníoznačenjakoserializovatelný。」。意味着「類型SlimDX.DirectInput.Joystick不可序列化」。這意味着SlimDX.DirectInput.Joystick無法通過反序列化實例化。

您嘗試序列化的對象類必須標記爲可序列化的。請參閱有關SerializableAttribute類的相關問題 - What is [Serializable] and when should I use it?

考慮到原始問題,通常應該編寫自己的可序列化類來保存。你應該以通常的方式使用加載的數據實例化SlimDX.DirectInput.Joystick(或任何)對象。

爲了將您的對象保存到文件中,您可以選擇合適的文件格式。 例如,JSON - Turn C# object into a JSON string in .NET 4

+0

usedsticks是'列表' –

+0

井,列表是串行化的,但SlimDX.DirectInput.Joystick是不 – enkryptor