在C#中,Java的默认(包)访问权限相当于什么?

Nos*_*ama 7 c# java nunit unit-testing access-modifiers

在C#中,Java的默认(包)访问权限相当于什么?有吗?反正是否限制对特定命名空间的访问?

问题:

我试图限制对某些方法的访问仅限于我的NUnit测试 - 在JUnit中我会通过使方法包访问并在同一个包中但在src/test/java而不是src/main/java下进行测试来实现这一点.如何在C#中实现类似的功能?

注意:我无法制作方法,internal因为我的测试是在一个单独的程序集中 - 就像NUnit惯例一样 - 或者是它?

LBu*_*kin 23

C#没有包级别或命名空间级别访问权限 - 只有程序集级别 - 也称为内部访问权限.

但是,您可以将方法设置为内部,并使用InternalsVisibleTo属性将它们公开给单元测试程序集.

你可能会发现阅读这篇文章和这篇文章很有用.