diff options
Diffstat (limited to 'mcs/tools/serialize.cs')
-rwxr-xr-x | mcs/tools/serialize.cs | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/mcs/tools/serialize.cs b/mcs/tools/serialize.cs deleted file mode 100755 index 01b83f83b87..00000000000 --- a/mcs/tools/serialize.cs +++ /dev/null @@ -1,138 +0,0 @@ -// -// Serialize.cs -// -// This program creates a SerializationInfo and requests an object -// to serialize itself. -// -// We serialize because we need to know the *exact* names that are -// used for the values being serialized. -// -// Author: Miguel de Icaza -// Duncan Mak -// -// (C) Ximian, Inc. -// - -using System; -using System.Collections; -using System.Globalization; -using System.Runtime.Serialization; -using System.Runtime.Serialization.Formatters.Soap; -using System.IO; - -namespace Mono.Serialize { - class Driver { - static object StaticCreateObject () - { - // - // Change the object type here. - // - return null; - } - - static object LiveCreateObject (Type obj, Type[] types, string[] values) - { - if (types.Length != values.Length) - throw new ArgumentException (); - - object[] a = new object [types.Length]; - - for (int i = 0; i < a.Length; i++) - a [i] = Convert.ChangeType (values [i], types [i]); - - return Activator.CreateInstance (obj, a); - } - - static void Main (string[] args) - { - object x = null; - string strTypes = null; - string argValues = null; - - if (args.Length == 1) { - Type t = Type.GetType (args[0]); - Console.WriteLine ("\nPlease enter the arguments to the constructor for type {0}", t.ToString()); - strTypes = Console.ReadLine (); - Console.WriteLine ("\nPlease enter the values"); - argValues = Console.ReadLine (); - Type[] types = ToTypeArray (strTypes.Split (',')); - string[] param = argValues.Split (','); - - x = LiveCreateObject (t, types, param); - } else { - x = StaticCreateObject (); - } - - string fileName = x.GetType().FullName + ".xml"; - Stream output = new FileStream (fileName, FileMode.Create, - FileAccess.Write, FileShare.None); - IFormatter formatter = new SoapFormatter (); - - formatter.Serialize ((Stream) output, x); - output.Close (); - } - - public static Type[] ToTypeArray (string[] strTypes) - { - Type[] t = new Type [strTypes.Length]; - - for (int i = 0; i < strTypes.Length; i++) - t [i] = StringToType (strTypes [i]); - return t; - } - - public static Type StringToType (string s) - { - switch (s) { - case "bool": - return typeof (System.Boolean); - break; - case "byte": - return typeof (System.Byte); - break; - case "sbyte": - return typeof (System.SByte); - break; - case "char": - return typeof (System.Char); - break; - case "decimal": - return typeof (System.Decimal); - break; - case "double": - return typeof (System.Double); - break; - case "float": - return typeof (System.Single); - break; - case "int": - return typeof (System.Int32); - break; - case "uint": - return typeof (System.UInt32); - break; - case "long": - return typeof (System.Int64); - break; - case "ulong": - return typeof (System.UInt64); - break; - case "object": - return typeof (System.Object); - break; - case "short": - return typeof (System.Int16); - break; - case "ushort": - return typeof (System.UInt16); - break; - case "string": - return typeof (System.String); - break; - default: - return Type.GetType (s); - break; - } - } - } -} |