Csharp/C#教程:C#中的默认访问修饰符分享


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

(0)
上一篇 2022年1月18日
下一篇 2022年1月18日

精彩推荐