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

[Kimi笔记]C# 中,public、private 和 internal 访问修饰符

在 C# 中,publicprivateinternal 访问修饰符的范围和应用各有不同,具体如下:

1. public

  • 范围public 修饰的类、方法、属性等成员可以在任何地方被访问,不限于定义它们的项目。如果一个项目(比如一个类库)被另一个项目引用,那么该项目中所有 public 修饰的公开成员都可以在引用它的项目中访问。
  • 应用:当你想在不同项目间共享代码时(例如在多个项目中使用同一个类库),你应该使用 public 修饰符。

2. private

  • 范围private 修饰的成员仅在定义它们的类或结构体内部可见。它们不能被外部类或代码访问,包括子类。
  • 应用private 修饰符用于隐藏类的实现细节,并且是实现封装的一种方式。当你不希望外部代码直接访问某些字段或方法时,应使用 private

3. internal

  • 范围internal 修饰的成员只能在同一个程序集(即通常对应于一个项目)内部访问。对于程序集外部的代码,这些成员是不可见的。
  • 应用internal 修饰符用于在同一个程序集中的不同类之间共享代码,但你不希望这些成员对程序集外部可见。这对于应用程序的内部组件或类库的内部实现特别有用。

综合理解

  • public 是最开放的访问级别,允许跨项目、跨程序集的访问。
  • private 是最受限的访问级别,仅限于最小的作用域:定义它们的类型内部。
  • internal 介于 publicprivate 之间,它提供了程序集级别的访问控制。

这三种访问修饰符使得开发者能够更好地控制代码的可见性和重用,帮助保持代码的安全性和模块化。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • H5+JS 4096小游戏
  • 从零入门CV图像竞赛(2024全球Deepfake攻防挑战赛)
  • Java基础:反射
  • 笑谈“八股文”,人生不成文
  • 【Kubernetes】k8s集群的资源发布方式
  • LSPatch制作内置模块应用软件无需root 教你制作内置应用
  • 【Java】深度解析Java的反射机制
  • 后端学习笔记(3)--Maven
  • python爬虫实践
  • 【C++】入门基础知识
  • 用VBA在Word中随机打乱单词表,进行分列
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • 数据守护者的秘籍:SQL Server数据库备份验证全攻略
  • python实现小游戏——植物大战僵尸(魔改版本)
  • Apache Kylin入门指南
  • [译] React v16.8: 含有Hooks的版本
  • 2017前端实习生面试总结
  • Fabric架构演变之路
  • gcc介绍及安装
  • IDEA常用插件整理
  • JavaScript设计模式之工厂模式
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • JSONP原理
  • OSS Web直传 (文件图片)
  • Phpstorm怎样批量删除空行?
  • SpiderData 2019年2月23日 DApp数据排行榜
  • Vue 2.3、2.4 知识点小结
  • 程序员该如何有效的找工作?
  • 多线程事务回滚
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 我的业余项目总结
  • 移动端唤起键盘时取消position:fixed定位
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (39)STM32——FLASH闪存
  • (ros//EnvironmentVariables)ros环境变量
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (回溯) LeetCode 46. 全排列
  • (剑指Offer)面试题34:丑数
  • (六)Hibernate的二级缓存
  • (三)elasticsearch 源码之启动流程分析
  • (四)linux文件内容查看
  • (四)软件性能测试
  • (算法)区间调度问题
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .Net 8.0 新的变化
  • .NET Standard 的管理策略
  • .Net接口调试与案例
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • @ConditionalOnProperty注解使用说明
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • [ NOI 2001 ] 食物链