无法将类型为A的对象强制转换为类型A

我的是C#winform程序,在一个类型转换时报出下面的错误“无法将类型为A的对象强制转换为类型A”,A是我写的一个类,这是为什么啊?同一种类还不能强制转换了?Ap=(A... 我的是C#winform程序,在一个类型转换时报出下面的错误“无法将类型为A的对象强制转换为类型A”,A是我写的一个类,这是为什么啊?同一种类还不能强制转换了?

A p=(A)value;这是强制转换的代码,value是object类型
展开
 我来答
zeroisback
2012-09-14 · TA获得超过255个赞
知道答主
回答量:101
采纳率:0%
帮助的人:101万
展开全部
无法将类型为A的对象强制转换为类型A

从这个错误来看,你的value的类型应该是A吧。你没有为A强制转换为A定义强制转换运算符,当然不能转换了。你在A类里面添加下面强制转换方法。
public static explicit operator A(A a)
{
return a;
}

如果不行,那就只能说明编译器很聪明,不让你进行同类型的强制转换了。
nickzhoufly
推荐于2017-11-28 · TA获得超过139个赞
知道答主
回答量:82
采纳率:100%
帮助的人:27.1万
展开全部
首先,如果value是A类型的,A p=(A)value是可以转换的。
所以你需要调试一下,看看value到底是什么东西,
看看他的类型是什么,是不是同一,命名空间的,是否为null值
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gy93108083
2012-09-11 · TA获得超过283个赞
知道小有建树答主
回答量:665
采纳率:50%
帮助的人:276万
展开全部
用 A p=value as A
如果类型正确可以转换,如果为null则转换失败,你要好好看下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式