[解決済み】C#の "internal "キーワードの実用的な使い方
2022-03-24 15:37:47
質問
の実用的な使い方を教えてください。
internal
というキーワードをC#で使うことはできますか?
というのは知っていますが
internal
修飾子は現在のアセンブリへのアクセスを制限しますが、いつ、どのような状況で使用すべきでしょうか?
どのように解決するのですか?
同じアセンブリ内の他の多くのクラスからアクセスしたいが、他のアセンブリのコードがアクセスできないようにしたいユーティリティまたはヘルパークラス/メソッド。
から MSDN (via archive.org)です。
<ブロッククオート内部アクセスは、コンポーネントベースの開発でよく使われます。なぜなら、コンポーネントのグループは、アプリケーションコードの残りの部分に公開されることなく、プライベートな方法で協力することができるからです。例えば、グラフィカルユーザーインターフェースを構築するフレームワークでは、内部アクセスのメンバを使用して協力するControlとFormクラスを提供することができます。これらのメンバーは内部的なものなので、フレームワークを使用しているコードに公開されることはありません。
また、internal修飾子と一緒に
InternalsVisibleTo
アセンブリ・レベル属性を使用して、ターゲット・アセンブリの内部クラスへの特別なアクセス権が付与された "friend" アセンブリを作成することができます。
これは、テスト対象のアセンブリの内部メンバの呼び出しを許可されたユニットテストアセンブリを作成するのに便利です。 もちろん、他のアセンブリにはこのレベルのアクセスは許可されないので、システムをリリースする際にもカプセル化は維持されます。
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] C#がforeachで変数を再利用するのは理由があるのか?
-
[解決済み] 型チェック:typeof、GetType、is?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] Static readonly」対「const」。
-
[解決済み] C# "internal "アクセス修飾子でユニットテストを行う場合
-
[解決済み】大文字・小文字を区別しない「Contains(string)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み】ASP.NET Core Dependency Injectionのエラーです。アクティブ化しようとしているときに、タイプのサービスを解決できません。
-
[解決済み】バックスラッシュを含むパス文字列のエスケープシーケンスが認識されない件
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み】Socket.Selectがエラー "An operation was attempted on something that is not a socket" を返す。
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み】IntPtrとは一体何なのか?
-
[解決済み] 内部アクセス修飾子 vs. プライベートアクセス修飾子