C#中每个变量(对象)的Intellisense显示GetHashCode()、ToString()、Equals()、
本文关键字:GetHashCode 显示 ToString Equals Intellisense 变量 对象 | 更新日期: 2023-09-27 18:24:42
在我的C#编程生活中,每当我在编写时在C#中创建一些变量(或对象)时。(点)这个变量(对象)的Intellisense向我展示了标准的4种方法。
例如,我创建了空类SomeClass
public class SomeClass
{
}
当我创建这个类的对象并调用一些方法时,即使这个类是空的,intellisense也会向我显示这4个方法。
static void Main(string[] args)
{
SomeClass sc = new SomeClass();
+---------------+
sc.|Equals |
|GetHashCode |
|GetType |
|ToString |
+---------------+
}
有人能解释一下为什么吗?
谢谢。
所有类都继承自包含这些方法的System.Object
。
每个类都隐式继承自Object
类和System.Object
命名空间。基本上,它是类型层次结构的根。
此外,除了您指出的4个方法之外,每个对象还继承了Object
的Finalize
方法。
由于您的类继承自Object,因此该语句是有效的:
object sc = new SomeClass();