6

.Net リフレクターを使用して、これらの型の間の関係を見つけることができません。何か案が?

4

1 に答える 1

8

「.Netリフレクターを使用する」と言うので:

ここに画像の説明を入力してください

リフレクションが必要な場合:

Type type = typeof (int);
while(type != null)
{
    Console.WriteLine(type.FullName);
    type = type.BaseType;
}

これは次のことを示しています。

System.Int32
System.ValueType
System.Object

そしてあなたがILを意味するならば:

.class public sequential ansi serializable sealed beforefieldinit Int32
    extends System.ValueType

と:

.class public abstract auto ansi serializable beforefieldinit ValueType
    extends System.Object

(リフレクターで、タイプのノードを選択し、ビューとしてILを選択します)

C#ビューを意味する場合は、次のようになります。

public struct Int32 ...

十分です。structキーワード:から継承することを意味しますValueType(ただし、通常のC#のclass方法では完全ではありません)。ValueType通常のクラスのままで、次のようになります。

public abstract class ValueType ...

そしていつものように、classベースタイプを指定しないaは次のことを意味します:から継承しobjectます。

于 2012-08-02T07:25:05.893 に答える