Ejemplo n.º 1
0
        public static void WriteByFieldType(this BinaryWriter writer, FieldTypeExtended fieldType, object value, int len = 0, bool useUnicode = false)
        {
            switch (fieldType)
            {
            case FieldTypeExtended.Field_Char:
                writer.Write(Convert.ToChar(value));
                break;

            case FieldTypeExtended.Field_Bool:
                writer.Write(Convert.ToBoolean(value));
                break;

            case FieldTypeExtended.Field_Short:
                writer.Write(Convert.ToUInt16(value));
                break;

            case FieldTypeExtended.Field_Int:
                writer.Write(Convert.ToUInt32(value));
                break;

            case FieldTypeExtended.Field_Float:
                writer.Write(Convert.ToSingle(value));
                break;

            case FieldTypeExtended.Field_String:
            default:
                writer.WriteStringAndFill((string)value, len, useUnicode);
                break;
            }
        }
Ejemplo n.º 2
0
        public static FieldType ConvertToBase(FieldTypeExtended fieldType)
        {
            switch (fieldType)
            {
            case FieldTypeExtended.Field_Char:
                return(FieldType.Field_Char);

            case FieldTypeExtended.Field_Bool:
                return(FieldType.Field_Bool);

            case FieldTypeExtended.Field_Short:
                return(FieldType.Field_Short);

            case FieldTypeExtended.Field_Int:
            case FieldTypeExtended.Field_Float:
                return(FieldType.Field_Float);

            case FieldTypeExtended.Field_String:
                return(FieldType.Field_String);

            default:
                return(FieldType.Field_String);
            }
        }
Ejemplo n.º 3
0
        public static object ReadByFieldType(this BinaryReader reader, FieldTypeExtended fieldType, int len = 0, bool useUnicode = false)
        {
            switch (fieldType)
            {
            case FieldTypeExtended.Field_Char:
                return(reader.ReadChar());

            case FieldTypeExtended.Field_Bool:
                return(reader.ReadBoolean());

            case FieldTypeExtended.Field_Short:
                return(reader.ReadInt16());

            case FieldTypeExtended.Field_Int:
                return(reader.ReadUInt32());

            case FieldTypeExtended.Field_Float:
                return(reader.ReadSingle());

            case FieldTypeExtended.Field_String:
            default:
                return(reader.ReadString(len, useUnicode));
            }
        }