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; } }
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); } }
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)); } }