public unsafe static T Read <T>(this BinaryReader reader) where T : struct { byte[] result = reader.ReadBytes(FastStruct <T> .Size); fixed(byte *ptr = result) return(FastStruct <T> .PtrToStructure(ptr)); }
public static T[] ReadArray <T>(this BinaryReader reader) where T : struct { int numBytes = (int)reader.ReadInt64(); byte[] result = reader.ReadBytes(numBytes); reader.BaseStream.Position += (0 - numBytes) & 0x07; return(FastStruct <T> .ReadArray(result)); }
public unsafe static T[] ReadArray <T>(this BinaryReader reader) where T : struct { int numBytes = (int)reader.ReadInt64(); byte[] result = reader.ReadBytes(numBytes); fixed(byte *ptr = result) { T[] data = FastStruct <T> .ReadArray((IntPtr)ptr, numBytes); reader.BaseStream.Position += (0 - numBytes) & 0x07; return(data); } }
public static T Read <T>(this BinaryReader reader) where T : struct { byte[] result = reader.ReadBytes(FastStruct <T> .Size); return(FastStruct <T> .ArrayToStructure(result)); }