是否可以在 C# 中使用显式类型转换将基类对象分配给派生类引用?
我已经尝试过了,它会产生运行时错误。
不可以。对派生类的引用实际上必须引用派生类的实例(或 null)。否则你会期望它如何表现?
例如:
object o = new object();
string s = (string) o;
int i = s.Length; // What can this sensibly do?
如果您希望能够将基类型的实例转换为派生类型,我建议您编写一个方法来创建适当的派生类型实例。或者再次查看您的继承树并尝试重新设计,以便您一开始就不需要这样做。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)