public static byte[] GetBytes(Object arg) { byte typeCode = SerializeType.GetSerializeType(arg); switch (typeCode) { case SerializeType.st_bool: { return(Convert.ToBoolean(arg).ToBytes()); } case SerializeType.st_byte: { return(Convert.ToByte(arg).ToBytes()); } case SerializeType.st_char: { return(Convert.ToChar(arg).ToBytes()); } case SerializeType.st_float: { return(Convert.ToSingle(arg).ToBytes()); } case SerializeType.st_double: { return(Convert.ToDouble(arg).ToBytes()); } case SerializeType.st_short: { return(Convert.ToInt16(arg).ToBytes()); } case SerializeType.st_ushort: { return(Convert.ToUInt16(arg).ToBytes()); } case SerializeType.st_int: { return(Convert.ToInt32(arg).ToBytes()); } case SerializeType.st_uint: { return(Convert.ToUInt32(arg).ToBytes()); } case SerializeType.st_long: { return(Convert.ToInt64(arg).ToBytes()); } case SerializeType.st_ulong: { return(Convert.ToUInt64(arg).ToBytes()); } case SerializeType.st_string: { return(Convert.ToString(arg).ToBytes()); } case SerializeType.st_class: { return(ComplexSerializer.ClassToBytes(arg)); } case SerializeType.st_array: { Array obj = (Array)arg; return(obj.ToBytes()); } case SerializeType.st_list: { return(ComplexSerializer.ListToBytes(arg)); } case SerializeType.st_dictionary: { return(ComplexSerializer.DicToBytes(arg)); } } return(default(byte[])); }