フレンド アセンブリ ステートメントの範囲は何ですか?
例:
A.cs
[assembly: InternalVisibleTo("Friend")]
internal class A { ... }
B.cs
internal class B { ... }
B
「フレンド」と呼ばれるアセンブリのクラスにアクセスできますか?
スコープはプロジェクト全体ですか (アセンブリ ステートメントも 1 つのクラスにしか設定されていません)。
フレンド アセンブリ ステートメントの範囲は何ですか?
例:
A.cs
[assembly: InternalVisibleTo("Friend")]
internal class A { ... }
B.cs
internal class B { ... }
B
「フレンド」と呼ばれるアセンブリのクラスにアクセスできますか?
スコープはプロジェクト全体ですか (アセンブリ ステートメントも 1 つのクラスにしか設定されていません)。
属性はクラスに適用されません。これは、キーワードassembly:
がその前にあるためです。これは、属性がアセンブリ全体に適用されることを意味します。
MSDNページでわかるように。属性の宣言は、アセンブリにのみ適用できることを指定します。したがって、アセンブリ内のすべての内部を「フレンド」アセンブリから見えるようにします。
B は、フレンド アセンブリからアクセスできます。SynerCoder はポストに私を打ち負かしましたが、彼が述べたように、ステートメントはアセンブリ レベルに適用されます。
これは、Test プロジェクトが内部メソッドと型にアクセスするのに役立ちます:)