C#中的默认访问修饰符
如果我将创建一个如下所示的新对象,默认情况下它具有哪个访问修饰符?
Object objectA = new Object();
任何成员总是拥有最严格的成员 – 因此在这种情况下, objectA
的可访问性是private
。 (假设它是一个实例变量。作为局部变量没有任何意义,因为它们没有任何访问规则。)
所以这:
class Foo { Object objectA = new Object(); }
相当于:
internal class Foo { private Object objectA = new Object(); }
“默认为最私密”意味着对于类型,可访问性取决于上下文。 这个:
class Outer { class Nested { } }
相当于:
internal class Outer { private class Nested { } }
…因为您不能拥有私有的非嵌套类。
只有一个地方,添加一个显式访问修饰符可以使某些东西比它没有更私密,并且在属性声明中:
public string Name { get; set; } // Both public public string Name { get; private set; } // public get, private set
void Foo() { // private in method scope Object objectA = new Object(); } class Bar() { // private in class scrope Object objectA = new Object(); }
它默认是私有的。
作为class级成员: private
。
如果它是在方法体内声明的局部变量,则它在该方法之外没有可访问性。 但我猜你已经知道了。
对于类成员和结构成员,包括嵌套类和结构,private是默认值。
对于类和结构 – internal是默认值
您可以查看MSDN以便进一步阅读..
类/类型本身将默认为“内部”。 您创建的对象将默认为“私有”。
默认情况下,类和结构声明为内部!
在这里阅读更多
类的访问说明符是内部的。
变量的访问说明符是私有的。
上述就是C#学习教程:C#中的默认访问修饰符分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1033430.html