
No.1ベストアンサー
- 回答日時:
きちんとした説明になるかあやしいですが・・・。
型については、スコープはpublicかinternalがあります。
もしinternalがなかったとすると、すべての型がpublicになり、他のアセンブリからも参照できることになります。そうなると、その型を作成した人がアセンブリの中だけで使うために作ったとしても、自分の意図とは反して他のアセンブリ(exeファイルやdllファイル)から勝手に参照されてしまうことになります。すると、その型を作成した人が次のバージョンでその型でインタフェースの変更をしたとします。
もちろん、作成した人が内部用のものと考えていた場合その変更点を外部に通知したりもなければ、外部でそれを参照しているアセンブリの動作確認なんてするはずがありません。
そうなってくると、外部からそのアセンブリの型を参照したい人はそれが外部の人も使って良いものであるかどうかの判断がつかなくなります。まあ、明示的にドキュメントでも配布して、これこれのみ参照してくださいとあればいいのかもしれませんが、そうなってくるとアセンブリ一つについてドキュメントも一つということになりかねなくなりすごく繁雑になります。
そこでinternalの出番です。internalで修飾しておけば、外部に公開したくない型であるということで外部からはその型があることすら通常はわかりません。逆にpublicで修飾されていれば、外部の人は、これは参照してもよいものだという判断ができます。
internalは定義されているアセンブリの内部のみで使用なので、ある意味privateみたいな感じで理解されればよいかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ManagementClassが見つからない。
-
SOAP通信。恥を忍んで質問させ...
-
Windows10のVBAでDirectX 8が使...
-
VB2008→VB2010でエラーが出てま...
-
意味不明の実行時エラーで困っ...
-
C#でSystem.IO.FileFormatEx
-
VB.NETで参照設定したDLLの修正...
-
C#ソースをCSCファイルにてコン...
-
ビルドが実行できない 先へ進...
-
IT初心者です 仕事で、vb.netで...
-
EXCEL2000でVBAでWinsockをしたい
-
VBAからDLLをCALLしたいのですが
-
VB2010で作成したdllからtlbが...
-
Designer.vbは直接コードをいじ...
-
vbaでPDFファイルが印刷されない
-
印刷要求順番と印刷出力順番が...
-
exeファイルのアンインストール...
-
VBAで印刷スプール終了の判定を...
-
vba 時間の引き算 例えば 15:00...
-
クリレポのプリンタ設定について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
意味不明の実行時エラーで困っ...
-
ManagementClassが見つからない。
-
VB2010で作成したdllからtlbが...
-
VB.NETで参照設定したDLLの修正...
-
オブジェクト(dll)のレジストリ...
-
VB.Net リビルド 意味不明なメ...
-
Using System.Drawing がうまく...
-
C#ソースをCSCファイルにてコン...
-
DLLを作成してVBAから使用する...
-
VB.NETでDLLを読み込ませる時に...
-
IT初心者です 仕事で、vb.netで...
-
ビルドが実行できない 先へ進...
-
VB2008→VB2010でエラーが出てま...
-
プライマリ相互運用機能アセン...
-
VBAの参照設定について
-
msvcr120d.dllがないというエラー
-
VB6.0で作成したプロジェクトの...
-
参照設定したときのパス
-
SOAP通信。恥を忍んで質問させ...
-
VBでの実行時エラー’429’について
おすすめ情報