9.2 System.Object
因为所有的类都继承于System.Object,所以这些类都可以访问该类中受保护的成员(protected)和公共的成员(public)。下面看看可供使用的成员有哪些。System.Object保护的方法如表9-2所示。
这些方法是.NET Framework中对象类型必须支持的基本方法,但我们可能从不使用其中某些类型(或者只在特殊情况下使用,如GetHashCode())。
利用多态性时,GetType()是一个有用的方法,允许根据对象的类型来执行不同的操作,而不是像通常那样,对所有的对象都执行相同的操作。例如,如果函数接受一个object类型的参数(表示可以给该函数传送任何信息),就可以在遇到某些对象时执行额外的任务。联合使用 GetType()和typeof(这是一个C#运算符,可以把类名转换为System.Type对象),就可以进行比较,如下所示:
if (myObj.GetType() == typeof(MyComplexClass)) { // myObj is an instance of the class MyComplexClass. }
返回的System.Type对象可以做更多的工作,这里不讨论它们。重写ToString()方法也是非常有效的,特别是在对象的内容中可以用一个人们能理解的字符串表示时,就更是如此。