Я пытаюсь предотвратить исправление определенных свойств DTO при вызове patch.ApplyTo(object, adapter)
.Мой текущий план состоит в том, чтобы поместить пользовательский атрибут в свойства, которые следует игнорировать, и, используя этот адаптер, разрешать выполнение операций только в том случае, если путь, используемый в этой операции, не содержит имени свойства, которое следует игнорировать.Например.
class CustomAdapter : IObjectAdapter
{
public void Add(Operation operation, object objectToApplyTo)
{
if (pathIsValid(operation.path)) {
// Actually do the adding somehow
}
}
}
Может быть, это глупый вопрос, но я не могу найти какую-либо информацию о том, как сделать фактическое добавление части.На самом деле, я не могу найти никаких ссылок на то, как это (IObjectAdapter) предполагается использовать с JsonPatch, кроме перегрузки для передачи адаптера.
Есть ли какой-то способ, которым я могувызвать реализацию по умолчанию для любой данной операции?operation.Apply()
существует, но для него требуется адаптер в качестве второго параметра - что такое «адаптер по умолчанию» в JsonPatch?Или есть лучший / встроенный способ сделать это полностью?