C# 解析JSON并检查它是否为子类型?

C# 解析JSON并检查它是否为子类型?,c#,serialization,json.net,C#,Serialization,Json.net,用JSON.Net解析JSON并检查它是否为子类型的最简单、最优雅的方法是什么? 这里有一个例子 共享类库: public abstract class State {} public class PlayerState : State {} public class VehicleState : State {} 服务器端: var _state = Utils.GetStateFromString<State>(s); if (_state is Pl

用JSON.Net解析JSON并检查它是否为子类型的最简单、最优雅的方法是什么? 这里有一个例子

共享类库:

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;
                 ...
            }
var\u state=Utils.GetStateFromString;
如果(_状态为PlayerState){
PlayerState=(PlayerState)u state;
...
}
否则,如果(_状态为VehicleState){
车辆状态=(车辆状态)\u状态;
...
}
其中s是来自客户端的序列化字符串

我只使用
typenameholling=typenameholling.Objects
和创建自定义序列化绑定器,但将所有类型添加到绑定器非常困难,因为客户端和服务器上有不同的程序集。
我知道JsonSubType库,但我的平台不允许在project中添加链接

我无法理解这段代码。您在哪个类中定义了
\u state
和以下脚本?在
s
中是什么?(提示:将其添加到您的问题中)。添加所需输出的示例…可能重复的