代码改变世界

分析linq源码OrderBy的实现原理

2012-08-02 13:24 by symphony2010, 569 阅读, 0 推荐, 收藏, 编辑
摘要:将OrderBy 所用到得源码copy在一个文件里,下面是测试console应用程序:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Globalization;using System.Linq.Expressions;using System.Reflection;using System.Runtime;using System.Collections;namespace ConsoleApplication1{ internal st... 阅读全文

ilspy 点击根节点后进行解析的方法

2012-03-25 17:22 by symphony2010, 217 阅读, 0 推荐, 收藏, 编辑
摘要:主要执行对根节点反编译的功能为以下函数: 函数中主要的代码: 1: 2: // don't automatically load additional assemblies when an assembly node is selected in the tree view 3: using (opt... 阅读全文

GridView 里的删除不起作用

2011-12-14 11:27 by symphony2010, 256 阅读, 0 推荐, 收藏, 编辑
摘要:里面的Delete不起作用,下面想用源码来解释这一现象,理解为什么删除不起作用: 当我点击次Delete时,在服务器端经历了以下步骤来处理: this.RaisePostBackEvent(this._requestValueCollection);(Page 类里的ProcessRequest的一行)_requestValueCollection 为NameValueCollec... 阅读全文

源码调试Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.

2011-12-03 08:35 by symphony2010, 566 阅读, 0 推荐, 收藏, 编辑
摘要:单步调试分析错误: 抛出异常时,断下。 发现在此方法中抛出异常: 函数位置:System.Data.dll!System.Data.DataTable.EnableConstraints() internal void EnableConstraints() { bool flag = false; foreach (Co... 阅读全文

A path segment that contains more than one section, such as a literal section or a parameter, cannot contain a catch-all parameter. Parameter name: routeUrl

2011-11-18 16:09 by symphony2010, 1128 阅读, 0 推荐, 收藏, 编辑
摘要:出错的原因是 “*/{*catchall}”有两个星号,但是为了追寻.net抛出异常的路径下面对其进行源码分析。 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "myRoute", "{controller}/{aciton}/{id}/*{*catchall}", new { controller = "Ho... 阅读全文

.net 读书笔记 区分异步和多线程应用场景

2011-10-09 16:09 by symphony2010, 319 阅读, 1 推荐, 收藏, 编辑
摘要:在软件开发过程中,有一个领域的工作处理起来几乎总是最棘手的,这就是多线程编码。由多线程带来的传值、取值、资源同步、线程暂停、取消等操作会困扰每一个尝试编写此类代码的程序员。微软在这方面也做了巨大的努力,现在FCL中有了非常丰富的API可供选择,以便编写多线程代码。但这也带来了一个新问题:选择太多了,该选择什么样的类和方法呢? 本章将通过具体的实例,让我们熟悉异步、多线程、任务和并行。我们会了解到... 阅读全文

DOM model geElementByClassName

2011-10-06 22:23 by symphony2010, 189 阅读, 0 推荐, 收藏, 编辑
摘要:1: onload=function(){ 2: if (document.getElementsByClassName == undefined) { 3: document.getElementsByClassName = function(className) 4: { 5: var hasClassNam... 阅读全文

有关约束的重要表

2011-09-28 08:35 by symphony2010, 155 阅读, 0 推荐, 收藏, 编辑
摘要:select * from information_schema.constraint_column_usage---可以获取指定数据库中的所有约束的信息以及约束与列的对应关系 select * from information_schema.constraint_table_usage---查询结果中只包含表和约束的对应关系,并没有约束对应的列信息 select * from info... 阅读全文

ireaper

2011-09-10 00:12 by symphony2010, 220 阅读, 0 推荐, 收藏, 编辑
摘要:继续学习,ireaper,分析RightClickableDataGridView文件,该文件实现以下功能: * 1. 当多项被选中后,单击某选中项 * 1.1 在MouseUp前,不会刷新选中状态。 * 1.2 在MouseUp前,启动DragDrop后可以对多个选项进行DragDrop操作 * 2. 当使用右键单击某个非选中项时,会首先选中该项,然后再弹出上下文菜单挨个看看都是怎么实现的:1,右键实现单击选中当前行,和取消别的行,主要以下代码实现:else if ((e.Button & MouseButtons.Right) == MouseButtons.Right) { th 阅读全文

StreamWriter vs BinaryWriter

2011-09-06 07:53 by symphony2010, 232 阅读, 0 推荐, 收藏, 编辑
摘要:再用BinaryWriter写到一个txt文件里发现,里面的格式没有正常显示(显示为 带黑色矩形): 然后就反汇编了这两个类(reflactor): BinaryWriter public virtual void Write(string value) { int num1 = 0; char* chrPointer = null; if (va... 阅读全文