通过特定程序集限制类的可见性

时间:2013-09-04 07:16:01

标签: c# design-patterns visibility

我目前正在开发一个应用程序,其中包括一个使用TCP服务器和TCP客户端的通信模块。通信模块包括目录“Core”,其包含用于执行通信模块的内部功能的私有类。

我的目标是为“Core”目录中的类创建单元测试。但是,它们无法从测试项目中访问。

是否有方法或设计模式可以阻止在程序集外部使用这些类,但测试程序集除外?

谢谢,

2 个答案:

答案 0 :(得分:1)

您可以通过添加以下行来使内部类可用于YourTestProject:

[assembly: InternalsVisibleTo("YourTestProject")]

在要测试的项目的AssemblyInfo.cs中。

答案 1 :(得分:0)

您可以使用InternalsVisibleTo属性,使内部类对测试程序集可见。