为什么.NET Framework中所有类的最终基类都称为System.Object?

时间:2011-12-30 09:12:41

标签: .net

为什么.NET Framework中所有类的最终基类都称为System.Object?它必须被称为System.Class或类似东西,因为这是类而不是类实例(对象)。

1 个答案:

答案 0 :(得分:4)

它被称为System.Object,因为每个对象都是一个对象。例如,String的实例是Object - 但String不是类,是吗?字符串 class 是一个类,但这是另一回事。

System.Type来表示类型,因此System.Type的实例知道该类型具有哪些属性,方法等。所以你可以使用类似的东西:

Type stringType = typeof(string);
// Find out all the members of System.String using stringType...

但是能够在字符串本身上调用GetPropertiesGetMethods等是不合适的 - 因为字符串只是一个字符序列。