目次:
定義-フレンドアセンブリとはどういう意味ですか?
C#のフレンドアセンブリは、別のアセンブリのメンバーにアクセスできる.NETアセンブリを指します。 フレンドアセンブリからアクセスされるアセンブリのメンバーは、
内部。
フレンドアセンブリは、あるアセンブリの内部クラスとメンバーに別の特定のアセンブリからアクセスする必要があるシナリオで使用されます。 これにより、2つの特定のアセンブリがメンバーまたは機能を公開せずに共有できます。
フレンドアセンブリは、テスト対象のアセンブリで内部としてマークされているメンバーにテストコードの基になるアセンブリにアクセスする必要がある単体テストでも使用されます。 既存のアセンブリのメンバーにアクセスする必要がある別のアセンブリに含まれる追加を必要とするクラスライブラリの開発に役立ちます。
Techopediaがフレンドアセンブリについて説明します
クラスのメンバーを内部としてマークすることにより、それらは同じアセンブリ内の他のクラスから見えるようになりますが、アセンブリの外部にあるクラスに対してはプライベートです。 フレンドアセンブリから内部メンバーにアクセスするには、内部メンバーが定義されているアセンブリの属性InternalsVisibleToAttributeでフレンドアセンブリの名前を指定する必要があります。 フレンドアセンブリは、プライベートタイプおよびプライベートメンバーにアクセスできません。
たとえば、アセンブリXのInternalsVisibleToAttributeを使用してアセンブリYをフレンドアセンブリとして指定し、アセンブリYが内部としてマークされているアセンブリXのすべてのタイプとメンバーにアクセスできるようにします。
以下は、フレンドアセンブリの開発に関連するガイドラインです。
- 署名済みアセンブリを使用しているときに、ツール 'sn.exe'を使用して、フレンドアセンブリを指定する属性に渡す必要がある公開キーを取得できます。
- 別のアセンブリの内部メンバーにアクセスするフレンドアセンブリをコンパイルするとき、出力ファイル(.exeまたは.dll)の名前でコンパイラオプション(/ out)を設定する必要があります
- アクセスが必要なアセンブリのフレンドになる必要があるすべてのアセンブリを明示的に指定する必要があります。
- カプセル化の規則を破らずにフレンドアセンブリを使用することをお勧めします
