簡體   English   中英

為什么在Int32類的定義的父類列表中沒有System.Object類?

[英]Why doesn't class System.Object is not present in the parent classes list in the definition of Int32 class?

這是元數據中的代碼定義的屏幕截圖:

在此處輸入圖片說明

沒有人可以否認所有類型都從Object類繼承的事實,但是在Int32類(以及其他類BTW)的定義中並不是這種情況,我知道VS比我聰明,但是我想知道如果定義中不存在Object類,可以將其保留為父類?

還有一個更有趣的問題:如果Object是一個類,因此是引用類型,並且C#中的所有類型都繼承自Object ,那么其中的一些將成為值類型嗎?

答案是,並非所有類型都明確地從Object派生。 有引用類型和值類型。 值類型隱式繼承自ValueType類(它是“類”,因此應為引用類型,但眾所周知,所有值類型都不是邏輯上很合理的引用類型)。

值和引用類型之間存在更深的分離,因此您無法通過轉到元數據來看到它們。 您可以在這里閱讀有關此主題的更多信息: .NET中的所有內容都是對象嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM