是否可以在C#中使用显式类型转换将基类对象分配给派生类引用?
我尝试了它,它创建了运行时错误。
否。对派生类的引用实际上必须引用派生类的实例(或null)。否则,您会期望它如何表现?
例如:
object o = new object(); string s = (string) o; int i = s.Length; // What can this sensibly do?
如果您希望能够将基本类型的实例转换为派生类型,建议您编写一种方法来创建适当的派生类型实例。或再次查看您的继承树,然后尝试重新设计,这样您就不需要一开始就这样做。