当前位置: 首页 > news >正文

protected,internal和protected internal

我03年开始搞C#,搞了好多年了,楞是没搞出什么名堂。其中是有原因的,水平太烂。
好比面向对象里非常基本的protected可访问级别,一直都没搞清楚。
我记忆中,好像在哪读过,基类中的protected,在子类中会变成private,所以只能被儿子访问,孙子就不行了。但事实上,protected不管在基类还是子类,永远都是protected。
另外,internal这个访问级别原本不知道有什么用,现在有点明白了。它的作用是只能在本程序集里才是可访问的。比如,你写了个公用类库,编译成一个独立的DLL被其他程序调用,这时候,internal可以保证有些东西只能在这个公用类库才能访问,那些调用程序即使继承了里面的类,也无法访问这些东西。
C#里protected还可以与internal结合:protected internal,只能在本程序集中,由本类或继承类访问。

==================================

我又发现一种现象

属性里边,访问器get和set如果成对出现,则它们其中一个(仅一个)可以设置访问修饰符,并且这个访问限制应该比属性的更为严格。例如

public
 string
 Name
{
get
{
return name;
}
protected set
{
name = value;
}
}

这个当然是有用的,通常我们都希望SET有更严格的限制。

对于 protected 这个东东,属性和方法的访问级别似乎也有区别。比如,基类中有:
class Base
{
protected int Property{get;}
protected int Method();
}
它们都是protected,子类中访问当然没有问题
class Son : Base
{
void Test()
{
int i = Property;
Method();
}
}

但如果象这样




相关文章:

  • 推荐信计算机专业模板,计算机专业留学推荐信模板
  • 自己动手搭建WAMP
  • win7远程管理html,教你怎样win7远程桌面连接设置
  • 一劳永逸的修改Maven的编译级别
  • 怎样用计算机表白我爱你,高级表白密码,教你如何用数字表达出我爱你
  • 嵌入式linux上QT标准键盘输入的实现
  • 东北大学计算机应用基础试题,东北大学网络教育本科14秋学期《计算机应用基础》在线作业1试题答案...
  • 面试别人实际是在考验自己
  • 项目管理计算机考试试题,计算机软件项目管理考试试题及答案.doc
  • 培训!培训!包就业(下)——漂在中关村(6)
  • 计算机网络应用赛甘肃省,关于举办第三届“甘肃省大学生创新杯计算机运用能力竞赛”预赛的.doc...
  • EXP-00091:正在导出有问题的统计信息
  • 计算机软考能申请正高职称吗,拿到软考证书后如何申请评职称
  • 指定开始字符串和结束字符串,截取中间的字符
  • 编译原理在计算机专业,编译原理(高等学校计算机专业教材)
  • 《深入 React 技术栈》
  • ➹使用webpack配置多页面应用(MPA)
  • Android组件 - 收藏集 - 掘金
  • axios 和 cookie 的那些事
  • JavaScript函数式编程(一)
  • JAVA并发编程--1.基础概念
  • js ES6 求数组的交集,并集,还有差集
  • October CMS - 快速入门 9 Images And Galleries
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Redis 懒删除(lazy free)简史
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • SwizzleMethod 黑魔法
  • Vim 折腾记
  • 安装python包到指定虚拟环境
  • 当SetTimeout遇到了字符串
  • ------- 计算机网络基础
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 入门到放弃node系列之Hello Word篇
  • 思维导图—你不知道的JavaScript中卷
  • 问题之ssh中Host key verification failed的解决
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • (5)STL算法之复制
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (SpringBoot)第二章:Spring创建和使用
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)ssm码农论坛 毕业设计 231126
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (转)linux 命令大全
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .gitignore
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET Framework .NET Core与 .NET 的区别
  • .Net Web窗口页属性
  • .NET 发展历程