/// <summary> /// Interprets a subrecord's content as a int. /// </summary> /// <param name="frame">Frame to read from</param> /// <exception cref="System.ArgumentException">Thrown if frame's content is not exactly 4</exception> /// <returns>Subrecord's content as a int</returns> public static int AsInt32(this SubrecordFrame frame) { frame.AssertLength(4); return(BinaryPrimitives.ReadInt32LittleEndian(frame.Content)); }
/// <summary> /// Interprets a subrecord's content as a short. /// </summary> /// <param name="frame">Frame to read from</param> /// <exception cref="System.ArgumentException">Thrown if frame's content is not exactly 2</exception> /// <returns>Subrecord's content as a short</returns> public static short AsInt16(this SubrecordFrame frame) { frame.AssertLength(2); return(BinaryPrimitives.ReadInt16LittleEndian(frame.Content)); }
/// <summary> /// Interprets a subrecord's content as a sbyte. /// </summary> /// <param name="frame">Frame to read from</param> /// <exception cref="System.ArgumentException">Thrown if frame's content is not exactly 1</exception> /// <returns>Subrecord's content as a sbyte</returns> public static sbyte AsInt8(this SubrecordFrame frame) { frame.AssertLength(1); return((sbyte)frame.Content[0]); }
/// <summary> /// Interprets a subrecord's content as a double. /// </summary> /// <param name="frame">Frame to read from</param> /// <exception cref="System.ArgumentException">Thrown if frame's content is not exactly 8</exception> /// <returns>Subrecord's content as a double</returns> public static double AsDouble(this SubrecordFrame frame) { frame.AssertLength(8); return(frame.Content.Double()); }
/// <summary> /// Interprets a subrecord's content as a float. /// </summary> /// <param name="frame">Frame to read from</param> /// <exception cref="System.ArgumentException">Thrown if frame's content is not exactly 4</exception> /// <returns>Subrecord's content as a float</returns> public static float AsFloat(this SubrecordFrame frame) { frame.AssertLength(4); return(frame.Content.Float()); }
/// <summary> /// Interprets a subrecord's content as a long. /// </summary> /// <param name="frame">Frame to read from</param> /// <exception cref="System.ArgumentException">Thrown if frame's content is not exactly 8</exception> /// <returns>Subrecord's content as a long</returns> public static long AsInt64(this SubrecordFrame frame) { frame.AssertLength(8); return(BinaryPrimitives.ReadInt64LittleEndian(frame.Content)); }