public override ulong GetUInt64 (byte [] data, int index)
{
if (data == null)
throw new ArgumentNullException ("data");
if (data.Length - index < 8)
throw new ArgumentException ("index");
if (index < 0)
throw new ArgumentException ("index");
ulong ret;
byte *b = (byte *)&ret;
for (int i = 0; i < 8; i++)
b [7-i] = data [index+i];
return ret;
}