// serialize an object to string public bool serializeObjToStr(Object obj, out string serializedStr) { bool serializeOk = false; serializedStr = ""; try { MemoryStream memoryStream = new MemoryStream(); BinaryFormatter binaryFormatter = new BinaryFormatter(); binaryFormatter.Serialize(memoryStream, obj); serializedStr = System.Convert.ToBase64String(memoryStream.ToArray()); serializeOk = true; } catch { serializeOk = false; } return serializeOk; }
例 8.1. serializeObjToStr 的使用范例
[Serializable] public struct loginInfo_t { public bool valid; public string username; public string cid; public string appid; public string bitProtocol; public string canary; public CookieCollection cookies; public DateTime createdTime; // record the login info(cookie) create time public DateTime lastUpldateTime;// last update the login info(cookie)'s time }; private bool updateLoginInfo(skydrive.loginInfo_t loginInfo) { bool updateOk = false; string serializedStr = ""; loginInfo.lastUpldateTime = DateTime.Now; if (skydrive.commLib.serializeObjToStr(loginInfo, out serializedStr)) { Settings.Default.loginInfoStr = serializedStr; Settings.Default.Save(); updateOk = true; }