Какой самый простой и элегантный способ проанализировать JSON с Json.Net и проверить, является ли он подтипом? Вот пример.
Общая библиотека классов:
public abstract class State {}
public class PlayerState : State {}
public class VehicleState : State {}
На стороне сервера:
var _state = Utils.GetStateFromString<State>(s);
if (_state is PlayerState) {
PlayerState state = (PlayerState) _state;
...
}
else if (_state is VehicleState) {
VehicleState state = (VehicleState) _state;
...
}
, где s - сериализованная строка из клиента.
Я понял, что он работает только с использованием TypeNameHandling = TypeNameHandling.Objects
и созданием пользовательского SerializationBinder, но очень сложно добавлять все типы в связыватель, поскольку на клиенте и сервере существуют разные сборки. Я знаю о JsonSubType lib, но моя платформа не позволяет добавлять ссылки в проект