Tag: 转换为

将null转换为对象?

我今天遇到了这个代码 AsyncInvoke(OnTimeMessageTimer, (object)null, (ElapsedEventArgs)null); 这有什么不对吗?

JSON.NET使用Type参数反序列化为对象

我有以下问题,我无法解决: 我有不同的类,它们都实现了一个名为IProtocol的接口。 目前,它们被命名为SimpleProtocol , ParallelProtocol 。 我想坚持这些对象,所以我使用了JSON.NET,一切正常。 除非我试图反序列化它们,当我知道它们应该是什么类型时,它会完美地工作,例如: SimpleProtocol p = JsonConvert.DeserializeObject(myJsonData); 但是,我现在处于这样一种情况:我想加载JSON数据并获得IProtocol ,但这是可以理解的,JSON不允许这样做; 例如,这样的东西不起作用: IProtocol p1 = JsonConvert.DeserializeObject(myJsonData); // does not work IProtocol p2 = (IProtocol)JsonConvert.DeserializeObject(myJsonData); // also, does not work 所以,查找API我发现了这个方法签名: public static Object DeserializeObject( string value, Type type ) 看起来就像我需要的东西,所以通过在字符串中保存类型并检索它来尝试: // test Type protocolType = Type.GetType(“MyApp.Protocols.SimpleProtocol”); IProtocol p1 = JsonConvert.DeserializeObject(myJsonData, protocolType); 我得到一个错误,就是不可能将Newtonsoft.Json.Linq.JObject […]