У меня есть следующий класс:Json.net: Как определить, находится ли свойство во время десериализации?
[DataContract]
public class MyMessage
{
[DataMember(IsRequired = false)]
public string Foo { get; set; }
[DataMember(IsRequired = false)]
public string Bar { get; set; }
public void NotifyPropertyFound(string propName)
{
...
}
}
Мне нужна десериализация следующего JSon входа:
{ "Foo": null,
"Melda": 123
}
Мне нужен десериализатор вызвать метод NotifyPropertyFound
дважды: один раз с аргументом "Foo"
(который я есть в моем классе) и еще раз с аргументом "Melda"
(которого у меня нет).
Я играю с IContractResolver
и JsonConverter
, но ни один из них, кажется, не дает возможность вызвать метод NotifyPropertyFound
. Есть идеи?
EDIT
я могу обнаружить "Foo"
с помощью IValueProvider
. Но мне еще нужно обнаружить "Melda"
.
Парню, который быстро выдан голосуя, задавая этот вопрос -1, ничего не объясняя - вы действительно много помогли. Надеюсь, теперь ты счастлив. – fernacolo