indexerの場合エラーにしてくれるんだね。
プロパティだとエラーにならないから、
hoge.Size.X = 100; // Size structのSizeプロパティ
で変化しない、なんでってことになる。