我在ServiceStack.Text \ PlatformExtensions.cs文件中注意到FromObjectDictionary方法可能返回错误的值。
public static object FromObjectDictionary(this IReadOnlyDictionary<string, object> values, Type type)
{
if (values == null)
return null;
var alreadyDict = type == typeof(IReadOnlyDictionary<string, object>);
if (alreadyDict)
return true;
var to = type.CreateInstance();
PopulateInstanceInternal(values, to, type);
return to;
}
如果已经Dict为true,我认为它应该返回值对象。无论如何,真实值似乎是错误的,并且可能导致无效的强制转换异常。
我不知道在这里写代码是否是在ServiceStack中提交问题的正确过程。
答案 0 :(得分:0)
感谢您抓住这个!我已经通过this commit中的FromObjectDictionary()
解决了这个问题。
此更改可从v5.4.1(现在为available from MyGet)中获得。