public decimal ReadDecimal()
{
ReadAll(m_buffer, 0, 16);
if (BitConverter.IsLittleEndian)
{
fixed (byte* lp = m_buffer)
{
return *(decimal*)(lp);
}
}
else
{
decimal rv;
byte* ptr = (byte*)&rv;
ptr[3] = m_buffer[0];
ptr[2] = m_buffer[1];
ptr[1] = m_buffer[2];
ptr[0] = m_buffer[3];
ptr[7] = m_buffer[4];
ptr[6] = m_buffer[5];
ptr[5] = m_buffer[6];
ptr[4] = m_buffer[7];
ptr[11] = m_buffer[8];
ptr[10] = m_buffer[9];
ptr[9] = m_buffer[10];
ptr[8] = m_buffer[11];
ptr[15] = m_buffer[12];
ptr[14] = m_buffer[13];
ptr[13] = m_buffer[14];
ptr[12] = m_buffer[15];
return rv;
}
}
/// <summary>