で、実行時には、Width とか Height とかのメンバー名を知る必要はなく、 このレイアウトさえ分かっていればメンバーにアクセスできます。 x.Width にアクセスしたければ変数 x の格納されている場所の先頭を、 x.Height ならば x から4バイト目を見ればいいことになります。 要するに、Rect 構造体のメンバーへのアクセスは、 実行時には、以下のような(C 言語風の)コードと同じような扱いになっています。 // Rect x; char x[8]; // x.Width = 3; *((int *)(x + 0)) = 3; // y.Height = 4; *((int *)(x + 4)) = 4; 実行時型情報をサポートしない言語では、 実行時に不要な 「Rect 構造体は Width とか Height という名前のメンバーを持っている」 というような情報は削