如何只从程序集中公开一个特定的类?

Vij*_*jay 1 c# oop assemblies

假设程序集Assembly1.dll包含3个类:C1,C2,C3类.

我想只将C1级暴露给外界.无法访问C2和C3类.如何实现这一目标?

注意:将类C2和C3设为私有不是一个选项,因为这将使它们在程序集本身内无法访问.

Voj*_*vic 15

使类C2和C3内部,如:

internal class C2
{
//...
}
Run Code Online (Sandbox Code Playgroud)


Jon*_*eet 7

正如其他人所说,你使用internal可见性.还有几点:

  • 对于非嵌套类型,内部实际上是在C#中默认的,所以你不要指定它.您是否明确指定默认访问权限取决于个人品味.(我现在正站在栅栏上,倾向于明确.)

  • 首先,只有嵌套类型可以是私有的 - 再次,这是嵌套类型的默认可见性.


mqp*_*mqp 5

"internal"关键字指定只能在自己的程序集中访问类.也许你应该用这个标记C2和C3.