まとめ
typeof(ISomeInterface).BaseTypeですnull; 定義によるものtypeof(object).BaseTypeでもあります。nullしたがって:typeof(object).BaseType==typeof(ISomeInterface).BaseType -> trueそれは(意味的に)
System.Objectインターフェースでもあるという意味かもしれませんね。C#では、すべてのクラスはから継承しSystem.Objectますが、インターフェイスは継承しません。実際、インターフェースはコントラクトであり、クラスの基本型ではなく、他のインターフェースからのみ派生できます。だから私は
typeof(object).BaseTypeインターフェイスと同じである必要があるかどうか疑問に思っていますか?説明
私はこれを基本的な数理論理学の方法で考えました。
null私はととして扱ったので0、あるタイプの基本タイプを見つけることは、数の因数を見つけることと同じです。typeof(object)1この仮定の下では、任意の数の倍数の
nullように、任意のタイプの派生である可能性があります。0そして、それ自体でさえ任意の数の要因であるtypeof(object)ように、任意のクラスの基本タイプになります。1しかし、実際に戻ってきたということnullはtypeof(object).BaseType、この仮定を破りました。これは、それが他の数の要因ではなく0、要因であると言っているようです。1さらに、メソッドを使用して
SomeType再帰的にの基本型を見つける場合、 is 、isでSomeTypeあるため、必ずしもクラスではないとは言えません。BaseTypenulltypeof(object).BaseTypenull逆説的なようです
typeof(object).BaseType==typeof(object) -> trueその基本タイプがそれ自体であることを示すために、しかしそれはエンティティとコントラクトの正確な違いではありませんか?
アップデート:
私は最初に次のように述べました:
System.Objectインターフェースでもあるのではないでしょうか?
私が言いたいのはそれが混乱しているようだということです。説明が不十分なのは私のせいであり、それに焦点を当てた答えを出して申し訳ありません。