【问题标题】:How to pass in type via method of variable? [duplicate]如何通过变量的方法传入类型? [复制]
【发布时间】:2016-02-18 15:26:30
【问题描述】:

我想在运行时反序列化一个对象,但不知道如何在没有实际传入模型类型的情况下传入类型。

例如

JsonConvert.DeserialzeObject(objectToDeserialize);

我希望能够做这样的事情:

Type runtimeType = Type.GetType("namespace_and_class_name");

var result = JsonConvert.DeserializeObject<runtimeType>(objectToDeserialize);

或类似的东西:

var result = JsonConvert.DeserializeObject<Type.GetType(stringOfType)>(objectToDeserialize);

【问题讨论】:

  • 想一想,如果你想做的事情确实有效,如果 var 在语言中不存在,你将如何编写使用 result 的下一行代码。

标签: c# asp.net object types


【解决方案1】:

改用this other overload

object result = JsonConvert.DeserializeObject(json, type);

请记住,因为在编译时类型是未知的,所以代码不再是泛型的。您必须改用object

【讨论】:

  • 非常感谢。它很有魅力。
猜你喜欢
  • 2019-06-08
  • 2012-10-22
  • 1970-01-01
  • 1970-01-01
  • 2011-09-17
  • 2019-01-22
  • 1970-01-01
  • 2013-05-06
  • 1970-01-01
相关资源
最近更新 更多