Преглед изворни кода

New file (ISerializationSurrogate.cs)

svn path=/trunk/mcs/; revision=1877
David Dawkins пре 24 година
родитељ
комит
3820f7e459

+ 1 - 0
mcs/class/corlib/System.Runtime.Serialization/ChangeLog

@@ -1,6 +1,7 @@
 2002-01-06  David Dawkins <[email protected]>
 
 	* IFormatter.cs : New file
+	* ISerializationSurrogate.cs : New file
 
 2002-05-01  Ravi Pratap  <[email protected]>
 

+ 43 - 0
mcs/class/corlib/System.Runtime.Serialization/ISerializationSurrogate.cs

@@ -0,0 +1,43 @@
+//
+// System.Runtime.Serialization.ISerializationSurrogate
+//
+// Author:
+//   David Dawkins ([email protected])
+//
+// (C) David Dawkins
+//
+
+namespace System.Runtime.Serialization {
+
+	/// <summary>
+	/// Interface for serialization surrogates</summary>
+	public interface ISerializationSurrogate {
+
+		/// <summary>
+		/// Get the SerializationInfo necessary to serialize
+		/// the specified object </summary>
+		/// <param name="obj">Object to be serialized</param>
+		/// <param name="info">SerializationInfo to be populated</param>
+		/// <param name="context">Destination for serialization</param>
+		void GetObjectData(
+			object obj,
+			SerializationInfo info,
+			StreamingContext context
+		);	
+
+		/// <summary>
+		/// Populate an object using the specified SerializationInfo </summary>
+		/// <param name="obj">Object to be populated</param>
+		/// <param name="info">Data used for populating object</param>
+		/// <param name="context">Source for deserialization of object</param>
+		/// <param name="selector>Starting point for searching for compatible surrogates</param>
+		/// <returns>The deserialized object</returns>
+		object SetObjectData(
+			object obj,
+			SerializationInfo info,
+			StreamingContext context,
+			ISurrogateSelector selector
+		);
+	}
+
+}