摘要: 表达式树 前面n-1的是一个表达式 最后一个是一个表达式 一直拆开拆到最后 继承ExpressionVisitor的类 可以重写获取到表达式树的方法进行扩张和改写 委托是编译成一个方法 表达式树不是的 是一种数据结构 但是通过exp.Compile()方法编译后就是一个委托 能进行Compile() 阅读全文
posted @ 2018-11-28 11:41 几清 阅读(362) 评论(0) 推荐(0) 编辑
摘要: Enumable类型是linq to object 是一个很特殊的类型 这个类型的数据源都是在程序的内存中 Queryable类型是 Linq to sql 对数据库进行操作都是这个类型 这个类型会生成表达式目录树 方法体只能有一行代码 Expression 表达式目录树 ///外链接 需要用joi 阅读全文
posted @ 2018-11-28 11:38 几清 阅读(1129) 评论(0) 推荐(0) 编辑
摘要: 对象类型转换还可以通过序列化和反序列化 先把一个对象序列化成字符串 然后反序列化成另外一个对象 通过表达式树 字段缓存 泛型缓存效率更高 阅读全文
posted @ 2018-11-22 20:08 几清 阅读(337) 评论(0) 推荐(0) 编辑
摘要: //当前文件夹是否存在 参数文件夹路径 在路径下创建文件夹 //文件是否存在 如果当前文件以及存在 在执行创建 就会把原先的删除 创建一个新的 File.Create这种方式会删除以及存在的文件 //第一种写入方式 执行Flush()才把缓冲区的内容写入到文件中 //第二种写入方式 // 不会删除原 阅读全文
posted @ 2018-11-19 22:07 几清 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 浏览器能看到的数据 用后端模拟请求都能获取到 如果拿不到 看看是不是请求参数哪里没设置 刚好服务器检查了这个参数 设置请求头参数 在f12的元素上 右键 copy Xpath 可以拷贝出当前元素的位置 /************************* 获取token请求 1. 用上面那种把参数先 阅读全文
posted @ 2018-11-19 14:00 几清 阅读(4644) 评论(0) 推荐(0) 编辑
摘要: 事件就是委托的实例加上event关键字 提供的内置事件EventHandler 可以多个方法放到一个事件中或者一个委托中 执行事件或委托 执行里面的所有方法 事件或者委托.Invoke() 执行事件或方法 事件只有当前类中能invoke 子类都不可以Invoke 委托可以实例化 不同实例增加不同方法 阅读全文
posted @ 2018-11-18 19:48 几清 阅读(182) 评论(0) 推荐(0) 编辑
摘要: lambda实质上就是一个方法 NoReturnWithPara是一个委托 委托需要接受一个方法 定义一个方法传进去 匿名方法 lambda表达式 阅读全文
posted @ 2018-11-18 19:14 几清 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 特性是一个类 只要继承Attribute 就是一个特性类 用特性来标记元素 编译时生成到metadata里 平时不影响程序的运行 除非主动用反射去查找 可以得到一些额外的信息 操作 然后提供了更丰富的扩展空间 特性可以在不破坏类型封装的前提下 增加额外的功能 特性是为了实现AOP AOP:面向切面编 阅读全文
posted @ 2018-11-16 17:34 几清 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 静态属性和字段都会在第一次实例化对象的时候 初始化成功 然后一直放在内存中 不会释放 缓存就是这样实现的 泛型跟委托都是为了实现代码重用 协变和逆变 委托Func在定义参数都会用到 参数加了一个out后 集合中的类型可以是他子类的类型 逆变 左边是子类 右边是父类 泛型缓存比字典缓存有优势 阅读全文
posted @ 2018-11-16 14:11 几清 阅读(122) 评论(0) 推荐(0) 编辑
摘要: Action无返回值的委托 、 Func有返回值的委托 只有一个参数 这个参数就是返回值 多个参数 最后一个参数就是返回值类型 代码编译后 反编译dll 在选IL IL是一种中间语言 编译后的C#语言都要在编译一次转成IL语言 委托就是把方法放进去 调用原来的方法 委托的实例化 就是类的实例化 定义 阅读全文
posted @ 2018-11-15 21:37 几清 阅读(264) 评论(0) 推荐(0) 编辑