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'。 –