基类中的修饰符,其实就是C#里的那几种修饰符,public ,proteced,internal,privat这四种基础类型,当然也还一个组合类型internal protected,它们都是C#里最基础的东西,今天觉得有必要再说一下。

我还是觉得单讲修饰符,除了不好理解外,还有就是没什么意义,我们一定要把代码放到项目中才有它的价值,不是吗,呵呵。

一 public ,希望在所有地方都使用的成员,如一个获得结果集的方法

1        public virtual IQueryable<TEntity> GetEntities<TEntity>() where TEntity : class
2         {
3             return EF_DB.Set<TEntity>();
4         }

二 internal,只在本程序集中使用这个成员,对外部不可见,如一个数据层的工厂类,它用来创建数据上下文

1  internal sealed class DbFactory
2     {
3         #region Fields
4         static System.Timers.Timer sysTimer = new System.Timers.Timer(10000);
5         volatile static Dictionary<Thread, DbContext[]> divDataContext = new Dictionary<Thread, DbContext[]>();
6         #endregion
7    }

三 protected,它只对子类(派生类)公用访问权,这对于基类中的一些只对子类公开的属性与方法比较奏效

 1         /// <summary>
 2         /// 统一数据上下文对象
 3         /// </summary>
 4         protected DbContext EF_DB;
 5
 6         #region Constructors
 7         public DataBase(DbContext ef_DB)
 8             : this(() => { return ef_DB; })
 9         { }
10         public DataBase(Func<DbContext> func)
11         {
12             this.EF_DB = func();
13         }
14         #endregion

四 private,本类内部使用的对象,对外部隐藏,一般是对一些复杂的代码进行提取,形成一个独立的单一功能的方法

 1          /// <summary>
 2         /// 排序操作方法
 3         /// </summary>
 4         /// <typeparam name="TEntity"></typeparam>
 5         /// <typeparam name="TKey"></typeparam>
 6         /// <returns></returns>
 7         void AddOrderByList(Expression<Func<TEntity, object>> predicate)
 8         {
 9             OrderByList.Add(predicate);
10         }

OK,以上四种修饰符大家如果能完全掌握,我觉得就够用了,呵呵。

还有,学习.net的一种方式,就是多看小微自己工程师写的代码,会叫你受益匪浅!

第四回 基类中的修饰符,应该根据你对架构的理解去定义它们,没有绝对的相关推荐

  1. 【小白学习C++ 教程】十一、C++类中访问修饰符

    @Author:Runsen 类是面向对象编程.它是一种用户定义的数据类型,它拥有自己的数据成员和成员函数,可以通过创建该类的实例来访问和使用它们. 一个对象是一个类的实例.定义类时,不会分配内存,但 ...

  2. 继承(四):new方法都与基类中方法无关

    using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace Inher ...

  3. 第三回 基类中的方法,应该根据实际情况,虚的虚,抽象的抽象!

    今天主要说一下基类中的方法和属性,既然把这东西放进了基类,那有一点可以肯定的是,它们是公用的,这种公用的实现可能由基类自己实现,也可能是子类去实现,对于这句话,会有三种情况:(以方法以例) 1 基类中 ...

  4. C#中什么是类,类和对象的关系,类的访问修饰符?

    类以及类和对象的关系以及类的访问修饰符 一.类的概念: 二.类和对象的关系: 三.类的组成: 四.类的创建: 五.类的访问修饰符: 一.类的概念: 类是对于某一类对象的一个统称,类是对象的抽象化,对象 ...

  5. 《Python面向对象编程指南》——1.2 基类中的__init__()方法

    本节书摘来自异步社区<Python面向对象编程指南>一书中的第1章,第1.2节,作者[美]Steven F. Lott, 张心韬 兰亮 译,更多章节内容可以访问云栖社区"异步社区 ...

  6. C++多继承中重写不同基类中相同原型的虚函数

    在C++多继承体系当中,在派生类中可以重写不同基类中的虚函数.下面就是一个例子: class CBaseA  {  public:  virtual void TestA();  };  class ...

  7. 在c++中,如果派生类没有重写基类中对应virtual函数会怎样?

    在c++中,如果一个派生类没有重写基类中对应的虚函数,那么在派生类的构造函数中依然会创建虚指针,但是该虚指针指向的是基类的虚表. #include <iostream> #include ...

  8. swift 引用其他类_浅谈swift中闭包修饰符 weak?unowned? 或什么都不用

    浅谈swift中闭包修饰符 weak?unowned? 或什么都不用 平常的开发中,clourse是我们iOSr绕不过去的坎儿. 苹果本身也很重视闭包,像之前的一些老的target-action类型的 ...

  9. 知其然(3)*.java文件中可以包含多个类,但最多只能有一个类,其修饰符为public

    *.java文件中可以包含多个类,但最多只能有一个类,其修饰符为public. 测试1:文件名Dog.java,文件内容如下:[2个类均为public] public class Dog{Dog(){ ...

最新文章

  1. Java学习_day005:循环结构
  2. 嬴彻科技完成L4级重卡无人驾驶路测
  3. html跳转过度,jq实现锚点跳转过度
  4. julia(4)-if ,else
  5. Hadoop 02_初学必知
  6. 2015-03-19 header note update in my Appointment
  7. 《此生未完成》痛句摘录(一)
  8. 我的程序员偶像在哪里?
  9. 东大OJ-Max Area
  10. 使用普通asp.net编程方式开发WAP应用的可行性
  11. 可以嵌入ppt的课堂点名器_宏大智慧课堂支招:孩子和学霸的差距,就在课上课下55分钟里...
  12. 创建CHM格式电子书
  13. 计算机资源管理器出问题怎么办,电脑资源管理器运行异常导致任务栏出现问题...
  14. 榆熙电商:拼多多怎样判断商品是否被降权?原因有哪些?
  15. 将Chrome浏览器网页背景改成豆绿色
  16. 锐龙r7 6800u和酷睿i7 11800h差距 r76800u和i711800h对比
  17. 中国物联网微控制器市场现状研究分析与发展前景预测报告(2022)
  18. RateLimiter高并发访问限流
  19. 使用java开发spark实战
  20. 用二进制数字串生成二维码图片

热门文章

  1. linux驱动设备树
  2. oracle和arcgis优势,Oracle spatial 使用的一些感受
  3. 大一java实训报告1500字_从800字小作文,到3000字小论文你用了多久? | 校媒FM
  4. 利用WiFi模块实现MicroPython远程开发
  5. 强度光照模块rimg02 BH1750光度传感器模块
  6. python字符串用android,通过s从android客户端向python服务器发送字符串
  7. dede 表单必填_织梦dedecms自定义表单选项必填怎么修改
  8. 2021湖南高考成绩分段查询,2021年湖南高考分数一分一段位次表,湖南高考个人成绩排名查询方法...
  9. mysql下载之后找不见_Win7系统中安装mysql后找不到服务或出现找不到指定文件怎么办?...
  10. cmd html 查找汉子字,字符串查找 cmd find命令