Из-за этой проблемы здесь я пытаюсь написать собственный JsonConverter, который обрабатывает случаи, когда вы создаете подкласс списка или коллекции, а затем добавляете к нему дополнительные свойства. Таким образом, один из подходов состоит в том, чтобы игнорировать все свойства базового класса и сериализовать только те из них, которые принадлежат определенному классу. (Технически это не сработает, потому что если вы подклассифицируете этот подкласс, вы нарушите сериализацию, но это заставило меня задуматься...)
Возможно ли с помощью отражения (ну, я знаю, что ответ «да», потому что Reflector делает именно это, но я не знаю, как) получить только те члены, которые определены в самом классе, а не те, которые были унаследованы? Например...
public class MyBaseClass
{
public string BaseProp1 { get; set; }
public string BaseProp2 { get; set; }
}
public class MySubClass : MyBaseClass
{
public string SubProp1 { get; set; }
public string SubProp2 { get; set; }
}
В этом случае я хочу отразить MySubClass и получить только SubProp1 и SubProp2, игнорируя BaseProp1 и BaseProp2. Итак, может ли это быть, как это делается?
M