我正在尝试通过反序列化json
字符串来创建属性的新实例。当我明确说明JsonConvert.DeserializeObject<T>(string)
:
T
的调用有效
var foo = JsonConvert.DeserializeObject<Resource>(propertyValue.ToString());
但我想传递它PropertyInfo.PropertyType
:
var foo = JsonConvert.DeserializeObject<prop.PropertyType>(propertyValue.ToString());
我无法找到“类型或名称空间'prop'。”这对我来说没有意义,我认为PropertyType
是Type
。
答案 0 :(得分:4)
采取接受类型参数的重载
var foo = JsonConvert.DeserializeObject(
propertyValue.ToString(),
prop.PropertyType);
在这种情况下, foo将是object
类型。这解决了您的问题,但您仍然会提到不属于prop.PropertyType
的类型。