[longomatch/redesign3: 107/143] Allow serialization to Stream instead of only file paths
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch/redesign3: 107/143] Allow serialization to Stream instead of only file paths
- Date: Mon, 15 Aug 2011 22:54:11 +0000 (UTC)
commit 03117c98d7167a786e05a94e483ed5d268ab454c
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date: Sat Apr 9 16:41:25 2011 +0200
Allow serialization to Stream instead of only file paths
LongoMatch/Common/SerializableObject.cs | 23 +++++++++++++++++------
1 files changed, 17 insertions(+), 6 deletions(-)
---
diff --git a/LongoMatch/Common/SerializableObject.cs b/LongoMatch/Common/SerializableObject.cs
index b4f3068..92634b2 100644
--- a/LongoMatch/Common/SerializableObject.cs
+++ b/LongoMatch/Common/SerializableObject.cs
@@ -23,20 +23,31 @@ namespace LongoMatch.Common
{
public class SerializableObject
{
- public static void Save<T>(T obj, string filepath) {
+ public static void Save<T>(T obj, Stream stream) {
BinaryFormatter formatter = new BinaryFormatter();
- Stream stream = new FileStream(filepath, FileMode.Create, FileAccess.Write, FileShare.None);
formatter.Serialize(stream, obj);
- stream.Close();
+ }
+
+ public static void Save<T>(T obj, string filepath) {
+ Stream stream = new FileStream(filepath, FileMode.Create, FileAccess.Write, FileShare.None);
+ using (stream) {
+ Save<T> (obj, stream);
+ stream.Close();
+ }
}
- public static T Load<T>(string filepath) {
+ public static T Load<T>(Stream stream) {
BinaryFormatter formatter = new BinaryFormatter();
- Stream stream = new FileStream(filepath, FileMode.Open, FileAccess.Read, FileShare.Read);
var obj = formatter.Deserialize(stream);
- stream.Close();
return (T)obj;
}
+
+ public static T Load<T>(string filepath) {
+ Stream stream = new FileStream(filepath, FileMode.Open, FileAccess.Read, FileShare.Read);
+ using (stream) {
+ return Load<T> (stream);
+ }
+ }
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]