【发布时间】:2014-07-02 10:35:55
【问题描述】:
我有一个List<dynamic>,我需要将列表的值和类型传递给服务。
服务代码是这样的:
Type type = typeof(IList<>);
// Type genericType = how to get type of list. Such as List<**string**>, List<**dynamic**>, List<**CustomClass**>
// Then I convert data value of list to specified type.
IList data = (IList)JsonConvert.DeserializeObject(this._dataSourceValues[i], genericType);
_dataSourceValues:列表中的值
如果 List 的类型是动态的 (List<dynamic>),我如何将列表的类型转换为特定类型?
【问题讨论】:
-
如果你不知道编译时的类型你不能。(除非你使用反射)
-
您不能将其转换为静态类型的对象,即使使用反射也是如此。
-
@MikeGoodwin 你知道 OP 为什么要投吗?当你有一个动态对象时,我不明白你为什么需要强制转换它。动态的主要原因不是逃避强类型问题吗?另外,为什么你认为反射没有帮助?