在C#中打包私有?

时间:2011-02-15 10:45:58

标签: c# java

在Java中,没有任何可见性关键字的方法称为包私有,可以从同一包中的对象中看到。

如果某个方法或某个字段在C#中没有任何可见性关键字,那么它也会打包私有,如果不是,那么可见性呢?

如何在C#中将字段包设为私有?

5 个答案:

答案 0 :(得分:11)

默认情况下,如果未指定,则将类标记为internal。在这种情况下,只有来自同一程序集的类才能使用它。

实际上,可以通过使用允许自动调整特定其他程序集以查看内部类型的InternalsVisibleToAttribute来覆盖它

答案 1 :(得分:4)

我认为c#中私有包的等价物是内部的,所以你可以在同一个程序集中看到方法或属性。

默认情况下,没有指定访问修饰符的类是内部的。

Here是一个很好的总结

答案 2 :(得分:2)

默认情况下,类成员是私有的。默认情况下,类本身是包私有的。 私有包称为“内部”

答案 3 :(得分:2)

我认为相应的可见性访问关键字是内部的。您还可以声明程序集并将内部成员标记为可访问它们。

http://msdn.microsoft.com/en-us/library/0tke9fxk(v=vs.80).aspx

答案 4 :(得分:2)

在C#中,方法和字段的默认访问权限是私有的。

C#没有Java的“package-private”,但是内部很接近;使用关键字内部

See this article 和此StackOverflow item.