No.1ベストアンサー
- 回答日時:
きちんとした説明になるかあやしいですが・・・。
型については、スコープはpublicかinternalがあります。
もしinternalがなかったとすると、すべての型がpublicになり、他のアセンブリからも参照できることになります。そうなると、その型を作成した人がアセンブリの中だけで使うために作ったとしても、自分の意図とは反して他のアセンブリ(exeファイルやdllファイル)から勝手に参照されてしまうことになります。すると、その型を作成した人が次のバージョンでその型でインタフェースの変更をしたとします。
もちろん、作成した人が内部用のものと考えていた場合その変更点を外部に通知したりもなければ、外部でそれを参照しているアセンブリの動作確認なんてするはずがありません。
そうなってくると、外部からそのアセンブリの型を参照したい人はそれが外部の人も使って良いものであるかどうかの判断がつかなくなります。まあ、明示的にドキュメントでも配布して、これこれのみ参照してくださいとあればいいのかもしれませんが、そうなってくるとアセンブリ一つについてドキュメントも一つということになりかねなくなりすごく繁雑になります。
そこでinternalの出番です。internalで修飾しておけば、外部に公開したくない型であるということで外部からはその型があることすら通常はわかりません。逆にpublicで修飾されていれば、外部の人は、これは参照してもよいものだという判断ができます。
internalは定義されているアセンブリの内部のみで使用なので、ある意味privateみたいな感じで理解されればよいかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 下記のの英文に関して質問します。 “We will remind you to renew your 3 2022/11/23 18:01
- 英語 提示文の構造等について 2 2022/12/25 23:24
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- 小学校 主語 述語 修飾語 中学受験 1 2022/04/13 11:42
- 英語 「名詞+形容詞/現在分詞/過去分詞+to不定詞の副詞的用法」の語順について 7 2022/09/22 05:27
- 英語 Should you need any help, please let me know. Shou 1 2023/02/03 20:39
- 英語 Should you need any help, please let me know. Shou 2 2023/02/04 19:31
- 日本語 学校では主語を修飾語より先に述べるように教えられますが主語を修飾語より先に述べたら以下のようなデメリ 5 2023/03/04 01:44
- 英語 数量+前置詞/接続詞の解釈について 3 2023/01/10 11:20
- 英語 どのような場合に、名詞を「so+形容詞+that節」が後置修飾するのか等について 3 2023/06/29 13:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IT初心者です 仕事で、vb.netで...
-
ManagementClassが見つからない。
-
意味不明の実行時エラーで困っ...
-
VB.NETでDLLを読み込ませる時に...
-
EXCEL2000でVBAでWinsockをしたい
-
msvcr120d.dllがないというエラー
-
Pythonのjupiter Labを使ってます
-
C#ソースをCSCファイルにてコン...
-
using System.WINDOWSが使えない
-
C#のinternal修飾子について
-
Using System.Drawing がうまく...
-
MS Visual Studio 6.0のEnterpr...
-
DLLを作成してVBAから使用する...
-
VB.Net リビルド 意味不明なメ...
-
ExcelでVBAで自動参照設定
-
VB2010で作成したdllからtlbが...
-
ビルドが実行できない 先へ進...
-
VB.NETで参照設定したDLLの修正...
-
vba 時間の引き算 例えば 15:00...
-
アウトルックが起動しているか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
意味不明の実行時エラーで困っ...
-
ManagementClassが見つからない。
-
IT初心者です 仕事で、vb.netで...
-
VB2010で作成したdllからtlbが...
-
VB.NETで参照設定したDLLの修正...
-
オブジェクト(dll)のレジストリ...
-
ビルドが実行できない 先へ進...
-
VB.Net リビルド 意味不明なメ...
-
VB.NETでDLLを読み込ませる時に...
-
C#ソースをCSCファイルにてコン...
-
DLLを作成してVBAから使用する...
-
SOAP通信。恥を忍んで質問させ...
-
Using System.Drawing がうまく...
-
Excel-VBAでDSOFile.dll使える?
-
Windows10のVBAでDirectX 8が使...
-
msvcr120d.dllがないというエラー
-
MS Visual Studio 6.0のEnterpr...
-
VB2008→VB2010でエラーが出てま...
-
ActiveMovie Control Objectを...
-
ExcelでVBAで自動参照設定
おすすめ情報