Мне нужно иметь возможность контролировать, как/или сериализуются ли определенные свойства в классе. Простейшим случаем является [ScriptIgnore]
. Тем не менее, я хочу, чтобы эти атрибуты были выполнены для этой конкретной ситуации сериализации, над которой я работаю, - если другие модули, расположенные ниже по потоку в приложении, также хотят сериализовать эти объекты, ни один из этих атрибутов не должен мешать.
Итак, я думал использовать пользовательский атрибут MyAttribute
для свойств и инициализировать конкретный экземпляр JsonSerializer с помощью крючка, который знает, как искать этот атрибут.
На первый взгляд, я не вижу, чтобы какая-либо из доступных точек привязки в JSON.NET предоставила PropertyInfo
для текущего свойства для такой проверки - только значение свойства. Я что-то упускаю? Или лучший способ приблизиться к этому?