DLL

 DLLを変更しなくてもあらゆる拡張が可能であるためには、privateに出来るものは限られる。

 フレンドアセンブリを使えばインターナルを特定のアセンブリに対して開くことが出来るが、自分の知らないアセンブリに対しては開けない。アセンブリがインターナルまで見るか見ないかを決められればいいのだけど。

 protectedが使えないか。中身を見たい場合継承してpublicにしてやる。ただそうして二重の階層を作れば把握できないくらいには複雑化する。