InternalsVisibleTo与"私人保护"

Ber*_*ler 7 c# internalsvisibleto c#-7.2

新版本的.Net框架和C#提供了一个新的访问修饰符:private protected.为了访问这样的成员,该类必须两者都有

  • 驻留在同一个组件中
  • 派生自定义类.

(相比之下protected internal,满足其中一个条件就足够了)

出于测试目的,InternalsVisibleTo当我想从我的测试类(在不同的程序集中)访问类的非公共成员时,该属性非常方便.

如何private protectedInternalsVisibleTo属性交互?我可以从驻留在原始类派生的"朋友"程序集中的类中访问此类成员吗?

(我无法在我的机器上尝试,因为Visual Studio和C#的版本太旧了).

Run*_*une 2

是的,从基类派生的友好测试程序集中的类将可以访问private protected成员。

新访问修饰符的提案明确说明了它映射到 ( protectedAndInternal) 的 CLR 访问说明符,但没有说明它与 的关系InternalVisibleTo