在C#的编程生涯中,每当我在C#中创建一些变量(或对象)时,我都会写这个变量(对象)的Intellisense向我展示标准的4种方法。
例如,我创建了空类SomeClass
public class SomeClass
{
}
当我创建这个类的对象,并调用一些方法时,即使这个类是空的,intellisense也会告诉我这4个方法。
static void Main(string[] args)
{
SomeClass sc = new SomeClass();
+---------------+
sc.|Equals |
|GetHashCode |
|GetType |
|ToString |
+---------------+
}
任何人都可以解释我为什么吗?
感谢。
答案 0 :(得分:4)
所有类都继承自System.Object
- 包含这些方法。
答案 1 :(得分:3)
每个类都隐式地从System.Object
命名空间继承Object
类。基本上,它是类型层次结构的根。
此外,除了您指出的4种方法外,每个对象还从Finalize
继承Object
方法。
由于您的类继承自Object,因此该语句有效:
object sc = new SomeClass();