/// <summary>
    /// 获取实际类型的值,object接收
    /// </summary>
    public static object GetObjectValue(string type, string value)
    {
        Object ret       = null;
        string lowerType = type.ToLower();

        if (parseObjectValueMap.TryGetValue(lowerType, out Func <string, object> func))
        {
            ret = func?.Invoke(value);
        }
        else
        {
            Type clrType   = Type.GetType(type);
            bool existType = clrType != null;
            if (existType)
            {
                IBinaryParserCustom stringParse = System.Activator.CreateInstance(clrType) as IBinaryParserCustom;
                existType &= (stringParse != null);
                if (existType)
                {
                    ret = stringParse.ParseToObject(value, '|');
                }
            }
            if (!existType)
            {
                Console.WriteLine(string.Format("{0} dont have parse function!", type));
            }
        }
        return(ret);
    }
    public void Write(string type, object value)
    {
        if (type == "System.Int32")
        {
            Write(Convert.ToInt32(value));
        }
        else if (type == "System.UInt32")
        {
            Write(Convert.ToUInt32(value));
        }
        else if (type == "System.Int16")
        {
            Write(Convert.ToInt16(value));
        }
        else if (type == "System.UInt16")
        {
            Write(Convert.ToUInt16(value));
        }
        else if (type == "System.Int64")
        {
            Write(Convert.ToInt64(value));
        }
        else if (type == "System.UInt64")
        {
            Write(Convert.ToUInt64(value));
        }
        else if (type == "System.SByte")
        {
            Write(Convert.ToSByte(value));
        }
        else if (type == "System.Byte")
        {
            Write(Convert.ToByte(value));
        }
        else if (type == "System.Boolean")
        {
            Write(Convert.ToBoolean(value));
        }
        else if (type == "System.String")
        {
            Write(Convert.ToString(value));
        }
        else if (type == "System.Single")
        {
            Write(Convert.ToSingle(value));
        }
        else if (type == "System.Double")
        {
            Write(Convert.ToDouble(value));
        }

        else if (type == "int")
        {
            Write(Convert.ToInt32(value));
        }
        else if (type == "uint")
        {
            Write(Convert.ToUInt32(value));
        }
        else if (type == "int16")
        {
            Write(Convert.ToInt16(value));
        }
        else if (type == "uint16")
        {
            Write(Convert.ToUInt16(value));
        }
        else if (type == "short")
        {
            Write(Convert.ToInt16(value));
        }
        else if (type == "ushort")
        {
            Write(Convert.ToUInt16(value));
        }
        else if (type == "int64")
        {
            Write(Convert.ToInt64(value));
        }
        else if (type == "uint64")
        {
            Write(Convert.ToUInt64(value));
        }
        else if (type == "long")
        {
            Write(Convert.ToInt64(value));
        }
        else if (type == "ulong")
        {
            Write(Convert.ToUInt64(value));
        }
        else if (type == "sbyte")
        {
            Write(Convert.ToSByte(value));
        }
        else if (type == "byte")
        {
            Write(Convert.ToByte(value));
        }
        else if (type == "bool")
        {
            Write(Convert.ToBoolean(value));
        }
        else if (type == "string")
        {
            Write(Convert.ToString(value));
        }
        else if (type == "float")
        {
            Write(Convert.ToSingle(value));
        }
        else if (type == "double")
        {
            Write(Convert.ToDouble(value));
        }
        else
        {
            IBinaryParserCustom ob = value as IBinaryParserCustom;
            Write(ob);
        }
    }