<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_apple123</title><subtitle type="text">开始写技术文章了。感兴趣的朋友，可以一块来翻译C#规范。翻译完C#，再翻译javascript规范，然后是...纯粹是兴趣。</subtitle><id>http://feed.cnblogs.com/blog/u/53522/rss</id><updated>2009-04-02T03:18:14Z</updated><author><name>apple123</name><uri>http://www.cnblogs.com/lanxiazhi/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lanxiazhi/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/53522/rss"/><entry><id>http://www.cnblogs.com/lanxiazhi/archive/2009/04/02/1427913.html</id><title type="text">项目实践之 防止重复提交的用户自定义控件</title><summary type="text">&amp;#160;  经常遇到ASPX页面重复提交的问题，以前觉得是浏览器和用户的责任，理由是版本高点的浏览器如IE8会提示"是否重复提交？..."，如果用户不顾警告重复提交，那是他们的事情。如果浏览器不提示，则是浏览器的责任。最近有时间，就想解决这个问题。网上一搜一大把，把基本的情况搞清楚了，自己也尝试了几种方法。最终采用了这里介绍的方法 。感谢这位同行。写了一个简单的控件，方便调用：[代码]Dupl...</summary><published>2009-04-02T03:08:00Z</published><updated>2009-04-02T03:08:00Z</updated><author><name>apple123</name><uri>http://www.cnblogs.com/lanxiazhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lanxiazhi/archive/2009/04/02/1427913.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lanxiazhi/archive/2009/04/02/1427913.html"/></entry><entry><id>http://www.cnblogs.com/lanxiazhi/archive/2009/03/30/1424826.html</id><title type="text">项目常用算法之 Nhibernate三层结构</title><summary type="text">本文简单比较了动软三层结构和&amp;#8220;Nhibernate三层结构&amp;#8221;。（1）动软三层架构刚开发ASP.Net应用时，使用动软自动生成的三层架构，用起来方便。就是改动起来麻烦。比如要加一个查询数据的方法，先在DAL层添加接口方法，再到SQLServerDAL层添加实现代码，再到BLL层添加一个包装方法。向某个表里添加一个字段，就得重新生成一遍，要不然就自己一层一层改。IDAL层，可以...</summary><published>2009-03-30T02:06:00Z</published><updated>2009-03-30T02:06:00Z</updated><author><name>apple123</name><uri>http://www.cnblogs.com/lanxiazhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/30/1424826.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/30/1424826.html"/></entry><entry><id>http://www.cnblogs.com/lanxiazhi/archive/2009/03/27/1423475.html</id><title type="text">C#规范解读之 类，接口，代理，枚举等</title><summary type="text">（1）方法C#中，一个类中可以定义多个方法，但相同签名的方法只能有一个。方法的签名包括： 方法的名称，形式参数的类型、个数、修饰符。如果方法是泛型方法，其签名还包括类型参数的个数。修饰符是指ref和out。参见：参数（2）事件事件相当于一个字段，这个字段是一个委托类型。但在类体的外面，只能在事件上执行+=或-=操作。也可以将事件定义成这样：[代码]add和remove访问器类似属性里面的get和s...</summary><published>2009-03-27T12:35:00Z</published><updated>2009-03-27T12:35:00Z</updated><author><name>apple123</name><uri>http://www.cnblogs.com/lanxiazhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/27/1423475.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/27/1423475.html"/></entry><entry><id>http://www.cnblogs.com/lanxiazhi/archive/2009/03/26/1422730.html</id><title type="text">C# 规范解读之 运算符 访问性</title><summary type="text">C#规范解读之心得 1（全部翻译过来太累了，只选重点供大家参考）（1）c#中的运算符运算符有优先级和结合性。优先级很明白，结合性的意思是：当两个优先级相同的运算符出现在一个操作数的两边时，是从左还是从右开始计算。比如：所有二元运算符除赋值运算符以外，都是左结合的。如x+y+z是这样计算的：（x+y）+z，即先计算x+y的值，这个值再加上z，作为表达式最终的值。对于赋值运算符，x=y=z，则是这样计...</summary><published>2009-03-26T14:46:00Z</published><updated>2009-03-26T14:46:00Z</updated><author><name>apple123</name><uri>http://www.cnblogs.com/lanxiazhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/26/1422730.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/26/1422730.html"/></entry><entry><id>http://www.cnblogs.com/lanxiazhi/archive/2009/03/26/1422064.html</id><title type="text">项目常用算法之 通用数据展示，包括获取资源的类，自定义GridView（请众高手帮助设计）</title><summary type="text">最近做ASP.Net方面的项目，GirdView用得很频繁。因此准备设计一个通用的数据获取和展示模型。具体如下：(1)需求：a.最终的效果是一个自定义的Gridview或Repeater(暂且叫MyGridView)，能分页、排序等。数据库只返回当前需要显示的数据。b.不需要额外处理MyGridView的PageIndexChanged,Sorting等事件。c.统一管理那些Select SQL ...</summary><published>2009-03-26T02:14:00Z</published><updated>2009-03-26T02:14:00Z</updated><author><name>apple123</name><uri>http://www.cnblogs.com/lanxiazhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/26/1422064.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/26/1422064.html"/></entry><entry><id>http://www.cnblogs.com/lanxiazhi/archive/2009/03/20/1417928.html</id><title type="text">项目常用算法之 一个C#资源池的实现 </title><summary type="text">这个资源池用来管理程序的宝贵资源。主要的类是ResourcePool&amp;lt;T&amp;gt;。用户可以通过调用GetResource方法请求一个资源，用完之后通过ReturnResource归还给资源池。由资源池决定什么时候释放多余的资源。接口IResourceProvider&amp;lt;T&amp;gt;用来获得资源。类ResourceTag&amp;lt;T&amp;gt;用来标志资源是否在用。具体的就不多说了，请看代码。欢迎...</summary><published>2009-03-20T10:38:00Z</published><updated>2009-03-20T10:38:00Z</updated><author><name>apple123</name><uri>http://www.cnblogs.com/lanxiazhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/20/1417928.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/20/1417928.html"/></entry><entry><id>http://www.cnblogs.com/lanxiazhi/archive/2009/03/19/1417161.html</id><title type="text">C#规范解读之8.3变量和参数</title><summary type="text">变量表示了存储位置。每一个变量都属于某个类型，这个类型决定了变量能保存什么样的值。局部变量是指在函数型成员如方法、属性、索引器中声明的变量。声明一个局部变量，需要指定一个类型名，一个代表变量名字的说明符，以及一个可选的初始值。比如：[代码]可以在一个局部变量的声明中包含多个变量的名字。上面的a和b可以定义成[代码]一个变量必须先赋值，才能取出它的值。例子：[代码]会导致编译错误，因为这个程序使用了...</summary><published>2009-03-19T14:18:00Z</published><updated>2009-03-19T14:18:00Z</updated><author><name>apple123</name><uri>http://www.cnblogs.com/lanxiazhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/19/1417161.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/19/1417161.html"/></entry><entry><id>http://www.cnblogs.com/lanxiazhi/archive/2009/03/19/1417107.html</id><title type="text">C#规范解读之8.2.4 类型系统的统一性</title><summary type="text">C#提供了一个"统一的类型系统"。所有的类型-包括值类型在内-都是从object类型继承而来。可以在任何变量上调用object类的方法，甚至包括像int这样的基础类型在内。例子：[代码]一个整型的常量调用了object类定义的ToString方法，输出是"3"。例子：[代码]很有意思。一个int值可以转化成一个object，然后转化回来。这个例子用到了装箱和拆箱。当一个值类型的变量转化为引用类型时...</summary><published>2009-03-19T13:08:00Z</published><updated>2009-03-19T13:08:00Z</updated><author><name>apple123</name><uri>http://www.cnblogs.com/lanxiazhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/19/1417107.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/19/1417107.html"/></entry><entry><id>http://www.cnblogs.com/lanxiazhi/archive/2009/03/19/1416966.html</id><title type="text">C#规范解读之8.2.3数组类型</title><summary type="text">数组可以是一维或者多维的。"矩形"数组和"不整齐"数组C#都支持。一维数组是最常见的类型了。例子：[代码]创建了一个int型的一维数组，初始化数组的元素后，打印出每个元素的值。输出是：arr[0] = 0arr[1] = 1arr[2] = 4arr[3] = 9arr[4] = 16例子中的类型int[]是一个数组类型。数组类型用一个非数组类型后跟一个或多个秩符号（译注：即方括号"[]"）表示。...</summary><published>2009-03-19T09:20:00Z</published><updated>2009-03-19T09:20:00Z</updated><author><name>apple123</name><uri>http://www.cnblogs.com/lanxiazhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/19/1416966.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/19/1416966.html"/></entry><entry><id>http://www.cnblogs.com/lanxiazhi/archive/2009/03/18/1415664.html</id><title type="text">c#规范解读之8.2.2 类型转化</title><summary type="text">&amp;#160;预定义类型同时含了预定义的转化行为。比如，int和long之间存在预定义的转化。C#区分这两种类型的转化：隐式转化和显示转化。隐式转化指的是安全的、不需要仔细地指出来的转化。比如int到long的转化就是隐式转化。这种转化总是成功执行，不会造成信息的丢失（译注：此处指的是精度损失）。下面的例子：[代码]隐式地将一个int类型的变量转化成long类型的变量（译注：intValue本身的类...</summary><published>2009-03-18T09:17:00Z</published><updated>2009-03-18T09:17:00Z</updated><author><name>apple123</name><uri>http://www.cnblogs.com/lanxiazhi/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/18/1415664.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lanxiazhi/archive/2009/03/18/1415664.html"/></entry></feed>
