关于.net,查了一下,有总结的挺好:
class前无修饰符(默认修饰符),在本命名空间可以访问
public class 其他程序集内也可以访问
internal class 本程序集内访问
对成员方法
方法前无修饰符(默认修饰符),本文件访问
public ,程序集内外都可以访问
internal protected 本程序集内+子类都可以访问
protected 子类访问
private 自己才可以访问
1.声明命名空间、类,前面不加限制访问修饰符时,默认访问权限为internal——访问仅限于当前程序集。
2.声明类成员(包括字段(变量)、属性和方法)默认为private)以及结构类型,前面不加限制访问修饰符时,默认访问权限为private——访问仅限于当前类。
3.声明枚举类型以及接口类型,前面不加限制访问修饰符时,默认为public且只能为public(就算要把限制访问修饰符写出来,也只能写public,而不能使用其他限制访问修饰符)——访问不受限制。
简单地说
1)你想要类库中的类及方法在程序集外部使用,则声明为public,
2)如果为程序集内部非子类使用声明为pubic或internal
3)如果仅程序集内部子类使用,声明为protected
4)如果为程序集内部子类和非子类都可以使用,声明为internal protected
5)如果成员方法和变量只有自己使用,默认或private |