コード例 #1
0
ファイル: Serializer.cs プロジェクト: kaka12300wu/LearnCenter
        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[]));
        }