How does GetFields() return objects - C#