2010-11-22 3 views
1

Visual Studio 2008のオブジェクトブラウザを使用してmscorlib.dllを見ると、Int64(その他のデータ型と同様)にValueTypeの基本型があることがIDEによって示されます。.NET C#:System.Int64にSystem.ValueTypeの基本型がありますか?

C#では、struct(Int64)はオブジェクトの継承をサポートしていないことに気付いています。私は、クラスのSystem.Int64プロパティを宣言したアセンブリの型のメタデータをチェックしても、クラスを拡張するInt64の指示はありませんでした。構造体はインターフェースを拡張することができ、私はこれを認識しています。

なぜ構造体Int64がValueTypeのBaseTypeを表示しているのか混乱しています。

説明できますか?

D alt text

答えて

3

すべての値の型は、暗黙的にSystem.ValueTypeを継承します。

+0

私はstructがSystem.Object以外のものから継承できないと思ったのですか? (http://msdn.microsoft.com/en-us/library/ah19swz4(VS.71).aspx) – contactmatt

+0

@contactmatt:ここで受諾された回答を見てください:http://stackoverflow.com/questions/1682231 1682604#1682604 – LukeH

+0

@LukeH - 上記のMSDNのドキュメントは間違っていますか?上記のMSDNリンクから: "構造体の継承はクラスのためにありません。構造体は他の構造体やクラスから継承することはできません。クラスの基底にすることはできません。しかし、Structsは基本クラスを継承しますオブジェクト。 – contactmatt

関連する問題