您的位置:首页 > 其它

【原创】使用反射之后,强制类型转化不成功的问题在哪?

2010-12-10 13:46 274 查看
今天在编写一个软件的时候,遇到一个奇怪的问题:

解决方案下有2个项目,一个是test的测试用控制台程序,一个是类库项目。前者引用了后者的dll(直接通过项目引用)

在类库项目中有2个类A,B,B是继承自A的。我通过反射得到了一个B类的对象,众所周知这是个object类型的对象,然后我试图把这个对象转化为A类型,由于A是B的基类,这样的转化应该是肯定能成功的,但是我发现程序告诉我:

“无法将类型B转化为类型A”

最后发现原因在于:

我的测试项目引用dll的时候,是选择的项目dll,而通过反射获取程序集信息时,是指定的bin/debug目录下的dll,这2个dll的路径是不一样的。导致.net在进行类型转化的时候,认为测试项目中的A类型并不是dll中的A类型,导致转化失败。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐