C# 成员默认访问权限(public、private、protected、internal)_c# class默认访问权限-程序员宅基地

技术标签: c#  

来源 https://www.cnblogs.com/yezongjie/p/20181121AccessRights.html

1.C#五个修饰符的权限

修饰符    级别    适用成员        解释
public    公开    类及类成员的修饰符   对访问成员没有级别限制
private    私有    类成员的修饰符     只能在类的内部访问
protected   受保护的  类成员的修饰符      在类的内部或者在派生类中访问,不管该类和派生类是不是在同一程序集中
internal    内部的    类和类成员的修饰符    只能在同一程序集(Assembly)中访问

protected internal 受保护的内部:如果是继承关系,不管是不是在同一程序集中都可以访问;如果不是继承关系只能在同一程序集中访问

2.类class的访问权限

类的访问修饰符只有两种:public、internal。如果class前面没有加任何修饰符的话,默认是internal。
public class:任何地方都可以访问到。
internal class或class:只有同一个程序集中能访问到(程序集代表能生成exe或dll的项目,一个程序集中可以有多个命名空间)。例如:一个解决方案中有两个项目,就代表有两个程序集,两个程序集分别为A、B。其中A中有个class为internal级别的,那么B引用了A的程序集也是不能调用这个类。

3.类成员(字段和方法)的访问权限

类成员的修饰符可以为:public、private、protected、internal、protected internal。

如果类成员(字段和方法)前面没有加有修饰符的话,默认访问权限是private。

但是构造函数默认访问权限为public

4.接口interface的访问权限

同class一样,可以为public和internal。
但是接口中的方法默认访问权限为public,并且不能显示的定义其他访问类型。

5.抽象类abstract class(该类只能作为父类被用于继承,而不能进行对象实例化)

抽象类中必须有一个以上的抽象方法,访问类型可以定义为:public、protected、internal,不能是private

6.枚举enum和结构struct权限

枚举类型成员默认为public访问修饰符,且不能显示的使用其他修饰符。
结构成员默认private修饰符,
结构成员无法声明为protected成员,因为结构不支持继承。

PS:命名空间和程序集的区别
命名空间用于对类型进行逻辑分组。程序集则是程序的物理分组,对应于一个dll或exe文件。一个程序集中可以有多个命名空间。

============ End

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wojiuguowei/article/details/108881344

智能推荐

proe3.0安装教程_proe 3.0 m210安装教程-程序员宅基地

文章浏览阅读1.8k次。安装前先关闭杀毒软件和360卫士,注意安装路径不能有中文,安装包路径也不要有中文。[安装环境]:Win7/Win8/Win101.在桌面上找到“计算机”鼠标右击选择“属性”。2.点击“高级系统设置”。3.点击“环境变量”。4.点击“新建”。5.在“新建用户变量”中分别输入变量名“lang”和变量值“chs”后,点击确定。6.点击确定。7.点击确定。8.鼠标右击软件压缩包,选择解压到“Proe3.0_x64”。9.双击打开“Proe3.0_x64”。10.在文件夹中找到_proe 3.0 m210安装教程

STM32 硬件I2C EEPROM命令解析_i2c_ee_bytewrite(-程序员宅基地

文章浏览阅读3.7k次。STM32 硬件I2C EEPROM命令解析转载▼ 转载自互联网void I2C_EE_BufferWrite(u8* pBuffer, u8 WriteAddr, u16 NumByteToWrite){ u8 NumOfPage = 0, NumOfSingle = 0, Addr = 0, count = 0_i2c_ee_bytewrite(

MathType一章内公式编号不一致解决办法_mathtype公式与序号对不齐-程序员宅基地

文章浏览阅读8.7k次,点赞7次,收藏8次。问题写论文用MathType倒腾公式的时候常常碰到公式编号对不齐的问题,如下图所示:都是在第二章中,开头公式2.1-2.5都是正常的解决方法点击MathType-章节,如图:点击下一个,找到类似的多余的章节标识删除即可:..._mathtype公式与序号对不齐

python的generator、iterator、iterable_python gnerator 和iterable-程序员宅基地

文章浏览阅读105次。##python的高级特性----迭代器 参考:python的高级特性----迭代器 迭代器主要就是节省内存。在python中可以直接作用于for循环的数据类型有以下几种:(1)集合类型的数据:list, tuple, dict, set,str(2)generator: 包括生成器和 带yield 的 generator function上述对象可以直接作用于for循环,统称为可迭代对象:iterable,我们可以通过isinstance() 判断一个对象是否是Iterable对象:i_python gnerator 和iterable

微信小程序关联企业微信的自建应用后,静默登录_企业微信静默登录-程序员宅基地

文章浏览阅读1.3k次。首先,通过wx.qy.login获取到code,然后把这个code发送给我们自己写的接口api.getCompanyId,去请求到企业微信的id wx.qy.login({ success(res) { console.log("企业微信登录"); console.log(res); if (res.code && res.code != 6000) { // 通过this.setData方法,将上方d_企业微信静默登录

收集到的 hls rtmp rtsp 视频流测试地址_公开的hlsl监控地址-程序员宅基地

文章浏览阅读2.8w次。收集到的 hls rtmp rtsp 视频流测试地址hlshttps://video-dev.github.io/streams/x36xhzz/x36xhzz.m3u8http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8rtmprtmp://live.hkstv.hk.lxdns.com/live/hksrt..._公开的hlsl监控地址

随便推点

centos java1.8_CentOS8安装jdk1.8-程序员宅基地

文章浏览阅读257次。安装方法CentOS8上使用 yum 直接安装,环境变量自动配置好查看是否已安装看到下面结果,说明已经安装配置 jdk[root@xxx ~]# java -versionopenjdk version "1.8.0_222"OpenJDK Runtime Environment (build 1.8.0_222-b10)OpenJDK 64-Bit Server VM (build 25.222..._java-1.8.0-openjdk-headless(aarch-64) = 1:1.8.0.242.b08-1.h5.ky10 被 java-1.

从头开始搭建kubernetes集群+istio服务网格(1)—— 前期准备、安装docker、kubernetes_kubernetes docker 18.09.8-程序员宅基地

文章浏览阅读1.4k次。(win10 + virtualbox6.0 + centos7.6.1810 + docker18.09.8 + kubernetes1.15.1 + istio1.2.3)本系列分为三章,第一章是创建虚拟机、docker、kubernetes等一些基础设施;第二章是在此基础上创建一个三节点的kubernetes集群;第三章是再在之上搭建istio服务网格。本文参考了大量其他优秀作者的创作(已经在开头列出),自己从零开始,慢慢搭建了istio服务网格,每一步都在文章中详细地列出了。_kubernetes docker 18.09.8

google app engine 实现的网络硬盘,支持外链、权限管理和批量上传_google硬盘外链-程序员宅基地

文章浏览阅读626次。picasa被封之后一直找不到合适的地方放相册,后来看到了google app engine。 用GAE开发了一个简单的网络硬盘,支持外链、权限设置和多文件批量上传功能。 权限设置部分通过设置目录属性实现,设为私有则只有APP的管理员登录后才可见,也可设是否对访问者列出目录内容。 多文件批量上传功能通过flex实现的,客户端需要flash player 10以上,上传失败会自动重试。测试中遇到个别文件上传总是失败,原因还未知_google硬盘外链

matlab进行m k检验,用Matlab进行MK检验.doc-程序员宅基地

文章浏览阅读3.1k次。用Matlab进行MK检验用Matlab进行Mann-Kendall分析一、M-K趋势分析法与M-K突变检验的原理介绍1、Mann-Kendall趋势分析法非参数检验,又称任意分布检验,它不对变量的分布做严格假定,检验不针对特定的参数,而是模糊地对变量分布的中心位置或分布状态做检验,由于其不对总体分布做严格假定,因而适用性强[12]。因此,本文采用非参数的Mann-Kendall检验法对昌马河流域..._matlab mk 趋势检测结果

windows开机自启bat_servers 2016 设置开机启动.bat程序-程序员宅基地

文章浏览阅读6.3k次。windows 开机自动运行bat,bat文件放到“启动”目录即可。具体步骤:(1)打开C盘,依次按下图,查看->隐藏文件项目打勾->打开文件夹ProgrameData。或者直接粘贴访问C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp(2)拷贝bat到该启动目录下。————————————————版权声明:本文为CSDN博主「木易GIS」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声_servers 2016 设置开机启动.bat程序

【收藏】计算机专业常用学习网站_计算机学习网站-程序员宅基地

文章浏览阅读9.8k次,点赞27次,收藏174次。计算机专业常用的网站_计算机学习网站

推荐文章

热门文章

相关标签