Object.Equals(object,object)

Object.Equalsには、2つのObjectを引数として受け取る静的メソッドもある。

Object.Equals メソッド (System) | Microsoft Learn

CustomClass.csとMainClass.csで、

こう書く。

こうなる。
こうなる。

こうなる。
インスタンスが違う場合は、オーバーライドしたEquals(object)が呼ばれて、クラスが同じなら値の等価性が評価される。
静的メソッド側でReferenceEqualsか何かでチェックしてるのかわからんけど、同じ場合はオーバーライドしたEquals(object)までこないな。

Sample/dotnet/Object/Equals_object_object/src/Object_ at master · bg1bgst333/Sample · GitHub