在定义类时,在class关键字前面不加任何访问修饰符,它的默认作用域范围是什么,不加访问修饰符和用private修饰有什么不同。在VS中如何看出来,谢谢!
解决方案 »
- C# treeview 的控件中 我用委托调用treeview的treeView1_DoubleClick
- C#中如何实现一个总合计数值固定的队列,能返回当前队列中元素的最大值,最小值和元素个数
- 关于用Socket通信的一些问题
- 在winform中,全局变量定义最省内存!(速度最快)
- 谁能给我一个GetWindowText的实例?
- 求救:我怎么设计我程序,跟设计模式有关吗??
- 求助
- 遇到个关于ADO.NET的问题,请大家帮忙参详参详......
- 求大神写个实验"三门问题"看下结果.
- C# 内存溢出,char[]型数组,如何释放掉?
- 求教:Windows桌面程序的【Publisher】在哪里输入?
- 如何消除datagridview中的省略号???
默认的就是private
可以用来看reflector来看
class DefaultClass
{ }reflector:
.class private auto ansi beforefieldinit DefaultClass
extends [mscorlib]System.Object
{
.method public hidebysig specialname rtspecialname instance void .ctor() cil managed
{
}}
你可以自己试一下能不能这样写namespace abc
{
private class DefaultClass
{ }
}
应该这样才是
namespace abc
{
class DefaultClass //默认是internal
{
class privateClass //默认是private
{
}
}
}类的内部成员默认私有,其他任何默认为internal
namespace abc
{
internal class DefaultClass
{ }
}至于IL代码,不熟悉,为什么会显示private,不敢妄言,留待楼下解释
这个就是应用程序集内有效。