0
A
回答
1
不能从CfgObject
转换为CfgService
,仅从CfgService
到CfgObject
。 铸造总是从派生到基类完成。
+0
这不是真的(该投射总是从派生到基类完成)。尝试做'对象o = 5;例如,int i =(int)o;'。查看“upcasting”vs“downcasting” –
+0
当然,但你错过了一件事:object o =(object)5; int i =(int)o; o已经是一个int了,所以这个投射什么都不做。 –
0
如果您确实需要CfgService
的实例,则需要创建CfgService
的实例。如果您创建超类型(基础),则不能将其转换为子类型。您可以执行以下操作,但这样做会毫无意义,因为您可能只需将obj1
声明为CfgService
即可。
CfgObject obj1 = new CfgService((object)1);
CfgService service = (CfgService)obj1;
service.GetObject();
相关问题
- 1. 引用基类中的派生对象
- 2. 从C#派生类对象创建新的基类对象#
- 3. 传递需要基类对象的派生类对象
- 4. 从基类实例化派生对象
- 5. 将基类对象分配给派生类对象
- 6. 将基类对象设置为派生类对象
- 7. 在基类对象内创建派生类对象
- 8. 派生类对象是否包含基类对象?
- 9. 使用在基类派生类,而派生类的基类
- 10. 对象模型设计;基类对派生类的认识
- 11. 使用派生类对象分配基类对象的错误类型
- 12. 创建“派生类”类型的对象
- 13. WCF返回包含派生类的基类对象的列表
- 14. 是派生对象的模板基类型模板的子类
- 15. 重置派生类对象
- 16. 在基础对象中构造派生类型的对象
- 17. 派生类的构造函数以基类对象
- 18. 派生类和基类对象的内存地址?
- 19. 试图派生类对象的地址赋给基类指针
- 20. 实例化派生类对象,其基类ctor是私人的
- 21. 从基类型的函数返回派生类对象
- 22. 如何停止分配派生类对象的基类指针
- 23. 将基类的对象转换为派生类
- 24. 从派生类到基类
- 25. 从基类INITIALISE派生类
- 26. XMLPull - 基类和派生类
- 27. C++ - 派生类到基类
- 28. 派生类通过基类
- 29. 基类和派生类
- 30. 在C#中,派生对象的基类参考点更好或派生类自己的对象更好
为什么你会期望这个工作? 'obj1'不是'CfgService'。 –