1

私の C# でのプログラミング生活では、C# で変数 (またはオブジェクト) を作成するときに、この変数 (オブジェクト) に対して .(ドット) Intellisense を作成すると、標準の 4 つのメソッドが表示されます。

たとえば、空のクラスを作成しますSomeClass

public class SomeClass
{

}

このクラスのオブジェクトを作成し、いくつかのメソッドを呼び出すと、このクラスが空のインテリセンスであっても、この 4 つのメソッドが表示されます。

static void Main(string[] args)
{
    SomeClass sc = new SomeClass();
       +---------------+
    sc.|Equals         |
       |GetHashCode    |
       |GetType        |
       |ToString       |
       +---------------+
}

誰かが私に理由を説明できますか?

ありがとう。

4

2 に答える 2

3

Objectすべてのクラスは、System.Object名前空間からクラスを暗黙的に継承します。基本的に、これは型階層のルートです。

また、あなたが指摘した4つのメソッドに加えて、すべてのオブジェクトもFinalizeからメソッドを継承していますObject

あなたのクラスはオブジェクトから継承しているので、そのステートメントは有効です:

object sc = new SomeClass();
于 2013-07-24T22:22:11.423 に答える