答案 0 :(得分:3)
1:这取决于该类是否嵌套。顶级类默认为internal
。嵌套类默认为private
。
class TopLevelClass {
class PrivateClass {
}
}
2:是的,但仅适用于嵌套类:
class TopLevelClass {
private class ExplicitlyPrivateClass {
}
class ImplicitlyPrivateClass {
}
}
答案 1 :(得分:1)
如果您没有为主Public/Private/Protected
指定class
,那么它将为internal
,对于嵌套类,默认访问说明符将为private
。< / p>
private class
存在。只有在另一个类中声明它时,才能访问private class
。表示它是父类的private
class example //which is default interal
{
private class ex
{
}
class ex1 //default private
{
}
}
答案 2 :(得分:1)
1)如果未指定修饰符,则可见性将取决于省略它的情况;该问题在this问题中进行了讨论。
2)在以下代码中,InnerClass
中的private
为OuterClass
。
namespace ClassTest
{
class OuterClass
{
private class InnerClass
{
}
OuterClass()
{
InnerClass Test = new InnerClass();
}
}
class Program
{
static void Main(string[] args)
{
OuterClass TestOne = new OuterClass();
InnerClass TestTwo = new InnerClass(); // does not compile
}
}
}
答案 3 :(得分:0)
What are the Default Access Modifiers in C#?
并且有一个私人课程,但在我看来,这是毫无意义的