나는 정확히 this tutorial을 온라인으로 따르지 만 어떻게 든 그것은 오류를 일으 킵니다. 오브젝트 맵이나 무언가가 없다고 말하면됩니다.C#은 바이너리로 serialize 할 수 없습니다
나는 내가 직렬화 할 정적 객체 다음이 '822476800'객체를지도 : 여기
[Serializable]
public class Settings : ISerializable
{
public static string server= "http://localhost/";
public static string username = "myname";
public static bool savePassword = true;
public static bool autoSync = true;
public static string password = "mypass";
public static string folderPath1= "c:/";
public static string folderPath2= "c:/";
public static string autoSyncDuration = "300";
public static string lastSyncTime = "???";
public Settings()
{ }
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
Type myTypeObj = Type.GetType("Settings");
foreach (FieldInfo p in myTypeObj.GetFields())
{
Object value = p.GetValue(null);
info.AddValue(p.Name, value, p.GetType());
}
}
public Settings(SerializationInfo info, StreamingContext context)
{
Type myTypeObj = Type.GetType("Settings");
FieldInfo p;
foreach (SerializationEntry e in info)
{
p = myTypeObj.GetField(e.Name);
p.SetValue(null, e.Value);
}
}
}
을 그리고있는 읽기/쓰기 기능 :
private void writeSettings()
{
pcb_savingSettings.Visible = true;
FileStream fileStream = new FileStream(settingFile, FileMode.Create, FileAccess.Write, FileShare.None);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fileStream, new Settings());
fileStream.Close();
pcb_savingSettings.Visible = false;
}
private void readSettings()
{
if (!File.Exists(settingFile))
{
writeSettings();
}
FileStream fileStream = new FileStream(settingFile, FileMode.Open, FileAccess.Read, FileShare.None);
BinaryFormatter bf = new BinaryFormatter();
bf.Deserialize(fileStream);
fileStream.Close();
}
실제 오류 MSG를 . 이이 라인에서 발생 :이 나쁜 생각과
bf.Deserialize(fileStream);
정확한 오류 메시지를 복사 할 수 있습니까? –
"튜토리얼" 튜토리얼은 무엇입니까? 링크하십시오. – Oded
인터넷에서 유일하게 제공되는 자습서를 분명히 읽으십시오. – CodesInChaos