我正在尝试调试一个出现InvalidCastException异常的应用程序。
出错的代码行是:
在调试器中检查(见下面的截图),据我所知,行[分母]保存了一个值为8.0的double。那么将其强制转换为decimal不应该有任何问题吧?
('row'类型来自第三方库,该库再次从MySQL的数据中填充。当针对旧的MySQL服务器进行测试时出现问题,该服务器显然返回一些聚合结果作为MySQL 5.1上的double而不是decimal——相同的查询,数据库中完全相同的数据) Visual Studio Screenshot http://img18.imageshack.us/img18/3897/invaldicast.png 请问如何进一步调查此问题?
decimal d = (decimal)row[denominator];
在调试器中检查(见下面的截图),据我所知,行[分母]保存了一个值为8.0的double。那么将其强制转换为decimal不应该有任何问题吧?
('row'类型来自第三方库,该库再次从MySQL的数据中填充。当针对旧的MySQL服务器进行测试时出现问题,该服务器显然返回一些聚合结果作为MySQL 5.1上的double而不是decimal——相同的查询,数据库中完全相同的数据) Visual Studio Screenshot http://img18.imageshack.us/img18/3897/invaldicast.png 请问如何进一步调查此问题?