質問: public private internal protected の影響範囲を図にしたのですが、図のような理解でよろしいでしょうか? ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/c057c5a464f01502917fe01a250e2489.gif) アドバイスを参考に、イメージを変更してみました。 このような解釈でよろしいのでしょうか? ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/d8c4fbedbc894d582a03105b75ed916e.gif)
回答: こんにちは。 C#のアクセス修飾子にファイル・スコープは無かったと思います。(C#はpartialを使って複数のファイルで1つのクラスを定義できますし。) なので、図にスクリプト1.cs、スクリプト2.cs等の記載があることが混乱を生んでいるのではないでしょうか? それから、アクセス修飾子がどこに付いているのか明記した方が良いと思います。 特に、protected、protected internalについてはどのクラスに付けているのか明記しないと混乱すると思います。 最後にクラス1, 2, 3のどれとも無関係なクラス(クラス4, 5)を両方のアセンブリに定義すれば、protected、protected internalのスコープを明確にできると思います。 【ついでに】 「スクリプト」って表現はコンパイルしないような言語で良く用いられます。コンパイルする言語ではあまり用いないと思います。C#のソース・ファイルを「スクリプト」と表現するのは初めて見ました。