类的默认修饰符[重复]
Posted
技术标签:
【中文标题】类的默认修饰符[重复]【英文标题】:Default Modifier of a Class [duplicate] 【发布时间】:2010-12-05 06:48:29 【问题描述】:可能重复:What are the Default Access Modifiers in C#?
当我在 C# 中定义 class
并且不指定任何访问修饰符时,哪个是默认值?是public
还是protected
?
【问题讨论】:
【参考方案1】:在 C# 中,如果类型不是嵌套的(在其他类或结构中)并且没有应用访问修饰符,则它是内部的。如果它是嵌套的 - 私有的。
来自 C# 规范:
3.5.1 声明的可访问性
...
• 在编译单元中声明的类型 或命名空间可以有公共或 内部声明的可访问性和 默认为内部声明 可访问性。 • 班级成员可以 有五种声明中的任何一种 可访问性和默认为私有 声明的可访问性。 (请注意,一个 声明为类成员的类型 可以有五种中的任何一种 声明的可访问性,而类型 声明为命名空间的成员 只能有公共或内部 声明的可访问性。)
【讨论】:
thanku mr.Dzmitry huba 很好的解释谢谢你?我对静态方法、变量、类还有另一个疑问。这些 r 与普通的类、方法和变量有何不同 就默认可访问性而言,它们与实例成员没有什么不同。【参考方案2】:这是[内部]
【讨论】:
感谢您提供信息以上是关于类的默认修饰符[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在Java和c#中如果不写访问修饰符,类和类成员默认的是啥访问修饰符?