アクセス修飾子とメンバー、非メンバーごとのアクセス可不可組み合わせ表

C#でどのアクセス修飾子のときは誰がアクセスできるんだというのを、一覧で見たいと思ったのでまとめてみました
「internal」が絡むところと「違うアセンブリのとき」は自信がない
間違っていたらごめんなさい
(...実際、間違ってた orz)


calleeとcallerが同じアセンブリのとき
callee callee member's access modifier o:allow, x:deny
this private o
protectedinternal o
protected o
internal o
public o
-- -- --
base private x
protectedinternal o
protected o
internal o
public o
-- -- --
no relation private x
protectedinternal x
protected x
internal o
public o
calleeとcallerが違うアセンブリのとき
callee callee member's access modifier o:allow, x:deny
this private o
protectedinternal x
protected o
internal x
public o
-- -- --
base private x
protectedinternal x
protected o
internal x
public o
-- -- --
no relation private x
protectedinternal x
protected x
internal x
public o