private static IEnumerable<FieldInfo> GetFields(Type type)
{
var declaredFields = type.GetTypeInfo().DeclaredFields;
if (type.GetTypeInfo().BaseType != null)
declaredFields = declaredFields.Concat(GetFields(type.GetTypeInfo().BaseType));
return declaredFields;
}
}