File Stream C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.InteropServices;
public static class Helper
{
    public static T ReadStruct(BinaryReader binary_reader) where T : struct
    {
        Byte[] buffer = new Byte[Marshal.SizeOf(typeof(T))];
        binary_reader.Read(buffer, 0, buffer.Count());
        GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
        T result = (T)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(T));
        handle.Free();
        return result;
    }
}