﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-BrianLei Blog</title><link>http://www.cnblogs.com/RuiLei/</link><description>MSN:ruileier@hotmail.com
GMail:ruilei.blogs@gmail.com
</description><language>zh-cn</language><lastBuildDate>Tue, 07 Oct 2008 10:52:44 GMT</lastBuildDate><pubDate>Tue, 07 Oct 2008 10:52:44 GMT</pubDate><ttl>60</ttl><item><title>WebService Software Factory 设计草图</title><link>http://www.cnblogs.com/RuiLei/archive/2008/10/05/1304160.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Sun, 05 Oct 2008 04:49:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/10/05/1304160.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1304160.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/10/05/1304160.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1304160.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1304160.html</trackback:ping><description><![CDATA[<p>以下是根据WSSF设计理念，按现公司的业务需求设计的接口项目拟稿，实现细分。仅供参考。（WSSF---ASMX版）</p>
<p><strong>建议用1680*1050分辩浏览</strong></p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/WebServiceSoftwareFactory_B3DC/image_2.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="551" alt="image" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/WebServiceSoftwareFactory_B3DC/image_thumb.png" width="619" border="0" /></a> <a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/WebServiceSoftwareFactory_B3DC/image_4.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="553" alt="image" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/WebServiceSoftwareFactory_B3DC/image_thumb_1.png" width="254" border="0" /></a> </p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/WebServiceSoftwareFactory_B3DC/image_6.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="1199" alt="image" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/WebServiceSoftwareFactory_B3DC/image_thumb_2.png" width="828" border="0" /></a> </p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/WebServiceSoftwareFactory_B3DC/image_8.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="304" alt="image" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/WebServiceSoftwareFactory_B3DC/image_thumb_3.png" width="448" border="0" /></a> </p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/WebServiceSoftwareFactory_B3DC/image_10.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="275" alt="image" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/WebServiceSoftwareFactory_B3DC/image_thumb_4.png" width="670" border="0" /></a></p>
<img src ="http://www.cnblogs.com/RuiLei/aggbug/1304160.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42827/" target="_blank">[新闻]史上九大最强网络黑客</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Google Chrome 浏览器 Coming (转)</title><link>http://www.cnblogs.com/RuiLei/archive/2008/09/02/1282385.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Tue, 02 Sep 2008 14:04:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/09/02/1282385.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1282385.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/09/02/1282385.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1282385.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1282385.html</trackback:ping><description><![CDATA[<p><font face="华文细黑" size="4">Google拟在9月发布自有浏览器 采用Webkit内核     <br />google 浏览器下载<img title="google-chrome-1.jpg" alt="google-chrome-1.jpg" src="http://www.zzvo.com/wp-content/uploads/2008/09/google-chrome-1.jpg" border="0" /></font></p>  <p><font face="华文细黑" size="4">北京时间9月2日消息，据《纽约时报》报道，Google周一宣布，将于周二推出开源浏览器Chrome，这意味着浏览器大战的硝烟再次升起。谷歌日前在官方博客中给予证实，称周二将在全球100多个国家推出该款产品。</font></p>  <p><font face="华文细黑" size="4">谷歌强调，Google Chrome尚处在测试版阶段，即将推出的版本也只适于Windows系统，但Mac和Linux版本将随即推出。</font></p>  <p><font face="华文细黑" size="4">消息人士称，谷歌之所以计划推出自己的浏览器，是因为担心微软IE8的新特性可能不利于其搜索业务，其中包括隐私权和更加以微软为中心的搜索栏等特性，前者可能令谷歌无法收集其广告有效性等相关信息。同时谷歌此举将令两者之间战争更加白热化。</font></p>  <p><font face="华文细黑" size="4">google 浏览器图标</font></p>  <p><font face="华文细黑" size="4"><img title="google-chrome-2.jpg" alt="google-chrome" src="http://www.zzvo.com/wp-content/uploads/2008/09/google-chrome-2.jpg" border="0" /></font></p>  <p><font face="华文细黑" size="4">以下为谷歌的官方博客声明：</font></p>  <p><font face="华文细黑" size="4">我们通过漫画形式提前发布了一款开源浏览器Google Chrome，相信大家已经通过博客渠道了解到该消息。周二，我们将在全球100多个国家推出Google Chrome测试版。</font></p>  <p><font face="华文细黑" size="4">为什么要开发Google Chrome呢?因为我们相信它能给用户带来更多价值，同时有利于推动Web创新。</font></p>  <p><font face="华文细黑" size="4">在谷歌，大量的工作都是通过浏览器进行的，搜索、聊天、收发邮件和协同开发等。在空闲时间，我们通过浏览器购物，登录网络银行，读新闻，与好友交流 等。每天花费在浏览器上的时间如此之多，我们不得不考虑什么样的浏览器最适合当前的Web发展趋势。如今，网页已经从简单的文本页面发展到富媒体页面，这 就需要我们重新设计网络浏览器。我们真正需要的不仅仅是一款浏览器，而是一个现代化的网页及应用平台。这就是我们开发Google Chrome的初衷。</font></p>  <p><font face="华文细黑" size="4">谷歌Chrome浏览器界面截图</font></p>  <p><font face="华文细黑" size="4"><img title="google-chrome-3.jpg" alt="google-chrome" src="http://www.zzvo.com/wp-content/uploads/2008/09/google-chrome-3.jpg" border="0" /></font></p>  <p><font face="华文细黑" size="4">从外观即可看出，Google Chrome的设计简单、高效，是一款真正的Web浏览工具。与谷歌主页一样，Google Chrome的特点是简洁、快速。</font></p>  <p><font face="华文细黑" size="4">Google Chrome支持多标签浏览，每个标签页面都在独立的&#8220;沙箱&#8221;内运行，在提高安全性的同时，一个标签页面的崩溃也不会导致其他标签页面被关闭。Google Chrome基于更强大的JavaScript V8引擎，这是当前Web浏览器所无法实现的。</font></p>  <p><font face="华文细黑" size="4">当然，这只是一个开始，Google Chrome在很多方面还需要进一步完善。此次，我们即将推出的是Windows下的测试版本，供大家讨论，我们也希望能够得到用户的反馈。目前， Mac和Linux版本尚在开发之中，同样将秉承快速、高效的特点。</font></p>  <p><font face="华文细黑" size="4">Google Chrome是一款开源软件，借鉴了苹果的WebKit、Mozilla的Firefox及其他相关应用。同样，我们也将开放Google Chrome的全部源代码。我们期望与整个开源社区合作，共同推动Web创新。</font></p>  <p><font face="华文细黑" size="4">在当前Web市场，选择和创新越来越多，我们希望Google Chrome能成为一个新选择，推动Web服务更上一层楼。</font></p>  <p><font face="华文细黑" size="4">科技博客称其收到一本漫画书，其中描述了谷歌新浏览器的主要特征。消息人士称，谷歌这款开源浏览器名为&#8220;Chrome&#8221;。</font></p>  <p><font face="华文细黑" size="4"><img title="google-chrome-4.jpg" alt="google-chrome" src="http://www.zzvo.com/wp-content/uploads/2008/09/google-chrome-4.jpg" border="0" /></font></p>  <p><font face="华文细黑" size="4">这款浏览器的主要特征：</font></p>  <p><font face="华文细黑" size="4">- Chrome浏览器基于开源的Webkit，其中包含谷歌Gears。</font></p>  <p><font face="华文细黑" size="4">- Chrome提供了浏览器扩展框架，可以制作与Adobe-AIR类似的混合应用。</font></p>  <p><font face="华文细黑" size="4">- 包含V8 Javascript虚拟机，这个多线程的虚拟机可以加速Javascript的执行。</font></p>  <p><font face="华文细黑" size="4">- 标签式浏览、自动完成，浏览器有一个侧边栏类型的启动页面，帮助用户直接链接到需要的网站。Opera具有类似功能。</font></p>  <p><font face="华文细黑" size="4">- 具备隐私模式，可以让用户无需在本地机器上登录即可使用，这个功能与微软最新版本IE中的Incognito类似。</font></p>  <p><font face="华文细黑" size="4">- 浏览器将内置防止&#8220;网络钓鱼&#8221;及恶意软件功能。</font></p>  <p><font face="华文细黑" size="4"><img title="google-chrome-2.jpg" alt="google-chrome" src="http://www.zzvo.com/wp-content/uploads/2008/09/google-chrome-5.jpg" border="0" /></font></p>  <p><strong><font face="华文细黑" size="4">Google Chrome 将在明日发布，下载地址将及时公布。</font></strong></p>  <p><font face="华文细黑" size="4"><img title="google-chrome-2.jpg" alt="google-chrome" src="http://www.zzvo.com/wp-content/uploads/2008/09/google-chrome-6.jpg" border="0" /></font></p>  <p><font face="华文细黑" size="4"><img title="google-chrome-2.jpg" alt="google-chrome" src="http://www.zzvo.com/wp-content/uploads/2008/09/google-chrome-7.jpg" border="0" /></font></p>  <p><font face="华文细黑" size="4"><img title="google-chrome-2.jpg" alt="google-chrome" src="http://www.zzvo.com/wp-content/uploads/2008/09/google-chrome-8.jpg" border="0" /></font></p> <img src ="http://www.cnblogs.com/RuiLei/aggbug/1282385.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42826/" target="_blank">[新闻]微软拟2010年推新版SQL 强化商业智能功能</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Linq Coding -- Part Eight (Equals Topic)  </title><link>http://www.cnblogs.com/RuiLei/archive/2008/08/20/1272555.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Wed, 20 Aug 2008 12:28:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/08/20/1272555.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1272555.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/08/20/1272555.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1272555.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1272555.html</trackback:ping><description><![CDATA[摘要: &nbsp;&nbsp;<a href='http://www.cnblogs.com/RuiLei/archive/2008/08/20/1272555.html'>阅读全文</a><img src ="http://www.cnblogs.com/RuiLei/aggbug/1272555.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42825/" target="_blank">[新闻]GMail Labs 新功能 - 做数学题确认是否发出邮件</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Linq Coding -- Part Seven (Join之左外部联接、DefaultIfEmpty、GroupJoin)</title><link>http://www.cnblogs.com/RuiLei/archive/2008/08/19/1271758.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Tue, 19 Aug 2008 14:49:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/08/19/1271758.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1271758.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/08/19/1271758.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1271758.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1271758.html</trackback:ping><description><![CDATA[<p><font face="微软雅黑"><span style="font-family: 微软雅黑"><font style="font-family: " face="微软雅黑">Join 子句有三种最常见的联接类型：<a style="font-family: " href="http://www.cnblogs.com/RuiLei/archive/2008/03/04/1089896.html" target="_blank">内部联接</a>，<a style="font-family: " href="http://www.cnblogs.com/RuiLei/archive/2008/03/06/1093307.html" target="_blank">分组联接</a>，左外部联接<br style="font-family: " />
<strong style="font-family: ">本次介绍：左外部联接，DefaultIfEmpty, GroupJoin</strong></font><font style="font-family: "><strong style="font-family: "><br style="font-family: " />
</strong></font>&nbsp;&nbsp;&nbsp;&nbsp;<strong style="font-family: ">左外部联接</strong>：就是返回第一个集合的每个元素，而无论该元素在第二个集合中是否具有相关元素。可以使用 LINQ，通过对分组联接的</span></font></p>
<p><font face="微软雅黑"><span style="font-family: 微软雅黑">&nbsp;&nbsp;&nbsp; 结果调用 DefaultIfEmpty 来执行左外部联接。</span></font></p>
<p>&nbsp;</p>
<p><span style="font-family: Lucida Console">class Person<br />
{<br />
&nbsp;&nbsp;&nbsp; public string FirstName { get; set; }<br />
&nbsp;&nbsp;&nbsp; public string LastName { get; set; }<br />
}</span></p>
<p>&nbsp;</p>
<p><span style="font-family: Lucida Console">class Pet<br />
{<br />
&nbsp;&nbsp;&nbsp; public string Name { get; set; }<br />
&nbsp;&nbsp;&nbsp; public Person Owner { get; set; }<br />
}</span></p>
<p>&nbsp;</p>
<p><span style="font-family: Lucida Console">public&nbsp;void LeftOuterJoinExample()<br />
{<br />
&nbsp;&nbsp;&nbsp; Person magnus = new Person { FirstName = "Magnus", LastName = "Hedlund" };<br />
&nbsp;&nbsp;&nbsp; Person terry = new Person { FirstName = "Terry", LastName = "Adams" };<br />
&nbsp;&nbsp;&nbsp; Person charlotte = new Person { FirstName = "Charlotte", LastName = "Weiss" };<br />
&nbsp;&nbsp;&nbsp; Person arlene = new Person { FirstName = "Arlene", LastName = "Huff" };</span></p>
<p><span style="font-family: Lucida Console">&nbsp;</span></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp; Pet barley = new Pet { Name = "Barley", Owner = terry };<br />
&nbsp;&nbsp;&nbsp; Pet boots = new Pet { Name = "Boots", Owner = terry };<br />
&nbsp;&nbsp;&nbsp; Pet whiskers = new Pet { Name = "Whiskers", Owner = charlotte };<br />
&nbsp;&nbsp;&nbsp; Pet bluemoon = new Pet { Name = "Blue Moon", Owner = terry };<br />
&nbsp;&nbsp;&nbsp; Pet daisy = new Pet { Name = "Daisy", Owner = magnus };</span></p>
<p><span style="font-family: Lucida Console">&nbsp;</span></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp; // Create two lists.<br />
&nbsp;&nbsp;&nbsp; List&lt;Person&gt; people = new List&lt;Person&gt; { magnus, terry, charlotte, arlene };<br />
&nbsp;&nbsp;&nbsp; List&lt;Pet&gt; pets = new List&lt;Pet&gt; { barley, boots, whiskers, bluemoon, daisy };</span></p>
<p><span style="font-family: Lucida Console">&nbsp;</span></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp; var query = <strong>from person in people<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; join pet in pets on person equals pet.Owner into gj<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from subpet in gj.DefaultIfEmpty()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select new </strong></span><span style="font-family: Lucida Console"><strong>{ </strong></span></p>
<p><span style="font-family: Lucida Console"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person.FirstName, </strong></span></p>
<p><span style="font-family: Lucida Console"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PetName = (subpet == null ? String.Empty : subpet.Name)</strong></span></p>
<p><span style="font-family: Lucida Console"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;};<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//此时subpet为引用类型，所以此时这里是需要进行null检查的。</strong></span></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp; foreach (var v in query)<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine("{0,-15}{1}", v.FirstName + ":", v.PetName);<br />
&nbsp;&nbsp;&nbsp; }<br />
}</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 微软雅黑"><strong>DefaultIfEmpty:</strong>通过使用延迟执行实现。即时返回值为一个对象，该对象存储执行操作所需的所有信息。 </span></p>
<p><span style="font-family: 微软雅黑">它有两个重载方法：1.返回指定序列的元素；如果序列为空，则返回单一实例集合中的类型参数的默认值。</span></p>
<p><span style="font-family: 微软雅黑">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.返回指定序列中的元素；如果序列为空，则返回单一实例集合中的指定值。</span></p>
<p>&nbsp;</p>
<p><span style="font-family: Lucida Console">public class DefaultIfEmpty<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void DefaultifEmpty() </span><span style="font-family: Lucida Console"><strong>//第一种方法重载DEMO<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;Category&gt; categorys = new List&lt;Category&gt; { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new Category{ Name="AAAA", ID=11 },<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new Category{ Name="AAAA", ID=13 },<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new Category{ Name="AAAA", ID=14 }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }; </span></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (Category category in categorys.DefaultIfEmpty())<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(category.Name);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void EmptyList()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;Int32&gt; numbers = new List&lt;Int32&gt;();</span></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (Int32 number in numbers.<strong>DefaultIfEmpty()</strong>)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(number);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void DefaultifEmpty2()<strong>//第二种重载DEMO</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Category defcategory = new Category { Name = "AAAA", ID = 13 };</span></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;Category&gt; categorys = new List&lt;Category&gt; { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new Category{ Name="AAAA", ID=11 },<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new Category{ Name="AAAA", ID=13 },<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new Category{ Name="AAAA", ID=14 }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };</span></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (Category category in categorys.DefaultIfEmpty(defcategory))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine("Name:{0}", category.ID);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;Category&gt; categoryEmpty = new List&lt;Category&gt;();</span></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (Category category in categoryEmpty.DefaultIfEmpty(defcategory))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine("Name:{0}", category.Name);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><strong><span style="font-family: Lucida Console">&nbsp; /*<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 13<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AAAA<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */</span></strong></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><strong><span style="font-family: Lucida Console"> //从以下的结果可以看出来，<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//如果 source 不为空，是返回List&lt;Category&gt;的数据；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//如果 source 为空时，则为包含 defaultValue 的 IEnumerable&lt;(Of &lt;(T&gt;)&gt;)。</span></strong></p>
<p><span style="font-family: Lucida Console">&nbsp;}</span></p>
<p>&nbsp;</p>
<p><span style="font-family: 幼圆"><span style="color: red; font-family: 微软雅黑">*DefaultIfEmpty()方法与 GroupJoin 方法组合使用，可用于生成左外部联接。</span></span></p>
<p><span style="font-family: 幼圆"><span style="color: red; font-family: 微软雅黑">&nbsp;</p>
</span></span>
<p><span style="font-family: 幼圆"><span style="font-family: 微软雅黑"><strong>GroupJoin:</strong>基于键相等对两个序列的元素进行关联并对结果进行分组<br />
GroupJoin同样也有两个重载方法<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.使用默认的相等比较器 Default 对键进行比较。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.使用指定的 IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) 对键进行比较。</span></span></p>
<p>&nbsp;</p>
<p>&nbsp;<span style="color: #000000"><span style="color: red">*以下代码执行结果均相同(只是三种不同的写法)</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Lucida Console">public class&nbsp;&nbsp;GroupJoin&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void groupJoin()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ///Lamda&nbsp;写法<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var query = </span></p>
<p align="left"><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><strong><span style="font-family: Lucida Console">Database.people.GroupJoin(Database.pets,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;person =&gt; person,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pet =&gt; pet.Owner,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(person, petCollection) =&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OwnerName = person.FirstName,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pets = petCollection.Select(pet =&gt; pet.Name)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});</span></strong></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (var obj in query)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine("{0}:", obj.OwnerName);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (String pet in obj.Pets)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(" {0}", pet);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ///结果等同于Lamda<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var queryForLinq2 = </span><strong><span style="font-family: Lucida Console">from p in Database.people<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;join pp in Database.pets<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on p.FirstName equals pp.Owner.FirstName<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;into peoplePets<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select new<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OwnerName = p.FirstName,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pets = peoplePets.Select(pp =&gt; pp.Name)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};</span></strong></p>
<p><span style="font-family: Lucida Console">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ///Linq 写法<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var queryForLinq = </span><span style="font-family: Lucida Console"><strong>from p in Database.people<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select new<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OwnerName = p.FirstName,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pets = from pp in Database.pets<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where p.FirstName == pp.Owner.FirstName<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select pp<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }</span></p>
<p>&nbsp;</p>
<p><span style="font-family: Lucida Console"><span style="font-family: Lucida Console">LINQ Coding 目录<img alt="" src="http://www.cnblogs.com/Emoticons/baimantou/223332344.gif" /></span></span></p>
<ol>
    <li><span style="font-family: Lucida Console"><a class="entrylistItemTitle" id="CategoryEntryList1_EntryStoryList_Entries_ctl14_TitleUrl" href="http://www.cnblogs.com/RuiLei/archive/2008/02/26/1081882.html"><span style="font-family: Lucida Console">Linq Coding -- Part One</span></a></span></li>
    <li><span style="font-family: Lucida Console"><a class="entrylistItemTitle" id="CategoryEntryList1_EntryStoryList_Entries_ctl12_TitleUrl" href="http://www.cnblogs.com/RuiLei/archive/2008/02/26/1082087.html"><span style="font-family: Lucida Console">Linq Coding -- Part Two[标准查询运算符]</span></a></span></li>
    <li><span style="font-family: Lucida Console"><a class="entrylistItemTitle" id="CategoryEntryList1_EntryStoryList_Entries_ctl10_TitleUrl" href="http://www.cnblogs.com/RuiLei/archive/2008/02/26/1082600.html"><span style="font-family: Lucida Console">Linq Coding -- Part Three [Let子句]</span></a></span></li>
    <li><span style="font-family: Lucida Console"><a class="entrylistItemTitle" id="CategoryEntryList1_EntryStoryList_Entries_ctl08_TitleUrl" href="http://www.cnblogs.com/RuiLei/archive/2008/02/28/1084573.html"><span style="font-family: Lucida Console">Linq Coding -- Part Four[Concat应用]</span></a></span></li>
    <li><span style="font-family: Lucida Console"><a class="entrylistItemTitle" id="CategoryEntryList1_EntryStoryList_Entries_ctl06_TitleUrl" href="http://www.cnblogs.com/RuiLei/archive/2008/03/04/1089896.html"><span style="font-family: Lucida Console">Linq Coding -- Part Five (Join之内部联接查询)</span></a></span></li>
    <li><span style="font-family: Lucida Console"><a class="entrylistItemTitle" id="CategoryEntryList1_EntryStoryList_Entries_ctl04_TitleUrl" href="http://www.cnblogs.com/RuiLei/archive/2008/03/06/1093307.html"><span style="font-family: Lucida Console">Linq Coding -- Part Six (Join之分组联接)</span></a></span></li>
    <li><span style="font-family: Lucida Console"><a class="entrylistItemTitle" id="CategoryEntryList1_EntryStoryList_Entries_ctl00_TitleUrl" href="http://www.cnblogs.com/RuiLei/archive/2008/08/19/1271758.html"><span style="font-family: Lucida Console">Linq Coding -- Part Seven (Join之左外部联接、DefaultIfEmpty、GroupJoin)</span></a></span></li>
    <li><a class="postTitle2" id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl00_TitleUrl" href="http://www.cnblogs.com/RuiLei/archive/2008/08/20/1272555.html"><font style="font-family: Lucida Console" color="#6466b3">Linq Coding -- Part Eight (Equals Topic) </font></a></li>
</ol>
<img src ="http://www.cnblogs.com/RuiLei/aggbug/1271758.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42824/" target="_blank">[新闻]OpenOffice四处创造纪录 占有全球25%办公软件市场</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Interfaces Topic</title><link>http://www.cnblogs.com/RuiLei/archive/2008/08/18/1270661.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Mon, 18 Aug 2008 14:22:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/08/18/1270661.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1270661.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/08/18/1270661.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1270661.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1270661.html</trackback:ping><description><![CDATA[<p><span style="font-size: 18pt"><span style="font-family: 微软雅黑">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: 14pt"><span style="font-family: Lucida Console"><span style="font-family: Comic Sans MS">Interfaces Wow, <img alt="" src="http://www.cnblogs.com/Emoticons/yoyocici/224025817.gif" />在开发时、架构时、思考时，Interfaces都是我们这族人常常使用的，</span></span></span></span></span></p>
<p><span style="font-size: 18pt"><span style="font-family: 微软雅黑"><span style="font-size: 14pt"><span style="font-family: Lucida Console"><span style="font-family: Comic Sans MS">在开发工作中，我常常用Interfaces作为参数类型用于方法的signatures. </span></span></span></span></span></p>
<p><span style="font-size: 18pt"><span style="font-family: 微软雅黑"><span style="font-size: 14pt"><span style="font-family: Lucida Console"><span style="font-family: Comic Sans MS">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span><span style="font-family: 微软雅黑"><span style="font-size: 14pt"><span style="font-family: Lucida Console"><span style="font-family: Comic Sans MS">此贴就是解释为什么choose to do this，&amp; the benefits of coding...<img alt="" src="http://www.cnblogs.com/Emoticons/baimantou/202015214.gif" /></span></span></span></span></span></p>
<p><span style="font-family: 微软雅黑"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: Lucida Console"><span style="font-family: Comic Sans MS">让我们来看两个操作数据的方法<img alt="" src="http://www.cnblogs.com/Emoticons/msn/51_51.gif" /></span></span></span></span></span></p>
<p><span style="font-family: 微软雅黑"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: Lucida Console"><span style="font-family: Comic Sans MS">第一个方法：创建数据库的连接，发出请指令，查询想要的数据结果返回一个结果。</span></span></span></span></span></p>
<p><span style="font-family: 微软雅黑"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: Lucida Console"><span style="font-family: Comic Sans MS">第二个方法：通过while(reader.Read())填充一个IList&lt;Entity&gt;.</span></span></span></span></span></p>
<p><span style="font-family: 微软雅黑"><span style="font-size: 18pt"><span style="font-size: 14pt"><span style="font-family: Lucida Console"><span style="font-family: Comic Sans MS">代码如下：</span></span></span></span></span></p>
<pre>
<pre></pre>
<font face="华文细黑" size="4">
<div class="cnblogs_code" style="font-family: Lucida Console"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img id="Codehighlighter1_28_407_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_28_407_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_28_407_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_28_407_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_28_407_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_28_407_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_28_407_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_28_407_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;IList</span><span style="color: #000000">&lt;</span><span style="color: #000000">Article</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;Get()&nbsp;</span><span id="Codehighlighter1_28_407_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_28_407_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;SqlConnection&nbsp;connection&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SqlConnection(_connectionString);&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;SqlCommand&nbsp;command&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SqlCommand();&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;command.Connection&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;connection;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;command.CommandType&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;CommandType.StoredProcedure;&nbsp;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;command.CommandText&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">GetAllArticles</span><span style="color: #800000">"</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;SqlDataReader&nbsp;reader&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;command.ExecuteReader(CommandBehavior.SingleResult);&nbsp;<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;FillArticles(reader);<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img id="Codehighlighter1_467_840_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_467_840_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_467_840_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_467_840_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_467_840_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_467_840_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_467_840_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_467_840_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"></span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;IList</span><span style="color: #000000">&lt;</span><span style="color: #000000">Article</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;FillArticles(SqlDataReader&nbsp;reader)&nbsp;</span><span id="Codehighlighter1_467_840_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_467_840_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;List</span><span style="color: #000000">&lt;</span><span style="color: #000000">Article</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;articles&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;List</span><span style="color: #000000">&lt;</span><span style="color: #000000">Article</span><span style="color: #000000">&gt;</span><span style="color: #000000">();<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img id="Codehighlighter1_545_817_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_545_817_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_545_817_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_545_817_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_545_817_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_545_817_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_545_817_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_545_817_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(reader.Read())&nbsp;</span><span id="Codehighlighter1_545_817_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_545_817_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Article&nbsp;article&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Article();<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;article.ArticleID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">)reader[</span><span style="color: #800000">"</span><span style="color: #800000">ArticleID</span><span style="color: #800000">"</span><span style="color: #000000">];<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;article.Title&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;reader[</span><span style="color: #800000">"</span><span style="color: #800000">Title</span><span style="color: #800000">"</span><span style="color: #000000">];<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;article.Body&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;reader[</span><span style="color: #800000">"</span><span style="color: #800000">Body</span><span style="color: #800000">"</span><span style="color: #000000">];<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;article.Published&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(DateTime)reader[</span><span style="color: #800000">"</span><span style="color: #800000">Published</span><span style="color: #800000">"</span><span style="color: #000000">];<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;articles.Add(article);<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;articles;<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span></div>
<span style="font-family: Comic Sans MS">
<pre style="font-family: "><font style="font-family: " face="华文细黑" size="4">       FillArticles方法是期待一个具体类与其连接（及：SqlDataReader）.</font></pre>
<pre style="font-family: "><font style="font-family: " face="华文细黑" size="4">       现在让我们来假设，如果你的数据不在存储于数据库，</font><font style="font-family: " face="华文细黑" size="4">而把数据源改为其他方式Store,比如XML Files.</font></pre>
<pre style="font-family: ">&nbsp;</pre>
<pre style="font-family: "><font face="华文细黑"><font style="font-family: " size="4">       这时一般都是重新写一个构建一个Get方法，然后以 to handle Xml access</font></font><font style="font-family: " face="华文细黑" size="4">的方式，重新pass 一个</font></pre>
<pre style="font-family: ">&nbsp;</pre>
<pre style="font-family: "><font style="font-family: " face="华文细黑" size="4"> XmlDataReader to the FillArticles()方式。</font></pre>
<pre style="font-family: "><font style="font-family: " face="华文细黑" size="4">       但不幸的是，你将得到一个Error Information, </font><font style="font-family: " face="华文细黑" size="4">因为你的FillArticles()是期待一个SqlDataReader与其互访的。</font></pre>
<pre style="font-family: "><font style="font-family: " face="华文细黑" size="4">       那我们如果解决此问题呢？<img alt="" src="http://www.cnblogs.com/Emoticons/tusiji/203330297.gif" /></font></pre>
<pre style="font-family: "><font style="font-family: " face="华文细黑" size="4">       Well,very easy,<img alt="" src="http://www.cnblogs.com/Emoticons/baimantou/223332943.gif" />因为SqlDataReader &amp; XmlDataReader都是 implement an Interface，</font></pre>
<pre style="font-family: "><font style="font-family: " face="华文细黑" size="4">此Interface名为IDataReader.接下来只要Changing the paremeter type from SqlDataReader to </font></pre>
<pre style="font-family: "><font style="font-family: " face="华文细黑" size="4">IDataReader即可，</font><font style="font-family: " face="华文细黑" size="4">这样你就可以不需要更改，或者重新此方法。是不是很不错的选择呢。</font></pre>
<pre style="font-family: "><font style="font-family: " face="华文细黑" size="4">代码如下：</font></span></font><font face="华文细黑" size="4">
<div class="cnblogs_code" style="font-family: Lucida Console"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;IList</span><span style="color: #000000">&lt;</span><span style="color: #000000">Article</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;FillArticles(IDataReader&nbsp;reader)&nbsp;{<br />
</span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;List</span><span style="color: #000000">&lt;</span><span style="color: #000000">Article</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;articles&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;List</span><span style="color: #000000">&lt;</span><span style="color: #000000">Article</span><span style="color: #000000">&gt;</span><span style="color: #000000">();<br />
</span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(reader.Read())<br />
</span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Article&nbsp;article&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Article();<br />
</span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;article.ArticleID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">)reader[</span><span style="color: #800000">"</span><span style="color: #800000">ArticleID</span><span style="color: #800000">"</span><span style="color: #000000">];<br />
</span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;article.Title&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;reader[</span><span style="color: #800000">"</span><span style="color: #800000">Title</span><span style="color: #800000">"</span><span style="color: #000000">];<br />
</span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;article.Body&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;reader[</span><span style="color: #800000">"</span><span style="color: #800000">Body</span><span style="color: #800000">"</span><span style="color: #000000">];<br />
</span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;article.Published&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(DateTime)reader[</span><span style="color: #800000">"</span><span style="color: #800000">Published</span><span style="color: #800000">"</span><span style="color: #000000">];<br />
</span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;articles.Add(article);<br />
</span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;articles;<br />
</span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">}<br />
</span><span style="color: #008080">14</span>&nbsp;</div>
<span style="font-family: 幼圆"></pre>
<font style="font-family: " face="华文细黑" size="4">        其实当然看清事物的本质是什么，有时可以帮助自己很好的认识它，同时更可以很好使用它，即方便开发etc.</font></pre>
<pre>
<pre style="font-family: "><font style="font-family: " face="华文细黑" size="4"><em>       另外在VS当中好像有一个key short(Alt+ Ctrl +J)可以查找，查看具体类的Base Type.</em></font></pre>
<pre style="font-family: "><font style="font-family: " face="华文细黑" size="4"><em>      当然如果你安装了ReSharper, 它也是可以及时告知你。</em></font></pre>
<pre style="font-family: "><font style="font-family: " face="华文细黑" size="4">以上就是Inerfaces &amp; Concrete 之的话题。<img alt="" src="http://www.cnblogs.com/Emoticons/baimantou/114325779.gif" /></font></pre>
<pre style="font-family: "><font style="font-family: " face="华文细黑" size="4">有关于Interface与It的话题还是比较多的，下面我给几个资源</font></pre>
<ul style="font-family: ">
    <li style="font-family: "><a style="font-family: " href="http://blogs.msdn.com/abhinaba/archive/2006/02/13/530824.aspx" target="_blank"><font style="font-family: " face="华文细黑" size="4">Abstract base class over interface</font></a></li>
    <li style="font-family: "><a style="font-family: " href="http://blogs.msdn.com/kcwalina/archive/2004/10/24/246947.aspx" target="_blank"><font style="font-family: " face="华文细黑" size="4">API Design Myth: Interface as Contract</font></a></li>
    <li style="font-family: "><a style="font-family: " href="http://kirillosenkov.blogspot.com/2007/08/choosing-interface-vs-abstract-class.html" target="_blank"><font style="font-family: " face="华文细黑" size="4">interface-vs-abstract-class</font></a></li>
    <li style="font-family: "><a style="font-family: " href="http://www.ytechie.com/2008/07/using-objects-or-repository-interface-in-constructor.html" target="_blank"><font style="font-family: " face="华文细黑" size="4">Using objects or repository interface in constructor</font></a>
    </li>
</ul>
</span></font></pre>
<img src ="http://www.cnblogs.com/RuiLei/aggbug/1270661.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42823/" target="_blank">[新闻]云计算硝烟四起 IBM携Bluehouse参战</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>如何查找当前页面元素－－－DataList</title><link>http://www.cnblogs.com/RuiLei/archive/2008/07/30/1256148.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Wed, 30 Jul 2008 01:47:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/07/30/1256148.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1256148.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/07/30/1256148.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1256148.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1256148.html</trackback:ping><description><![CDATA[<p>以下是一个比较特殊的情况，看下图</p>  <p><a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/9d42a0b02d33_82B8/image_2.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="263" alt="image" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/9d42a0b02d33_82B8/image_thumb.png" width="489" border="0" /></a> </p>  <p><font face="微软雅黑">需求：点击<strong>相应</strong>Button时，隐藏<strong>相关</strong>GridView</font></p>  <p><font face="微软雅黑">解决思路：1.首先确定当前点击button，是哪一个button</font></p>  <p><font face="微软雅黑">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 2.获取当前点击button的对象（即可进行相关的操作）</font></p>  <p><font face="微软雅黑">遇到问题：因为GridView,Button都是套在DataList中的，所以你无法手动确定当前button的位置？</font></p>  <p><font face="微软雅黑">解决方法：首先在MasterPage页面要定义一个属性</font></p>  <p><font face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <strong>MasterPage Page:</strong></font></p>  <blockquote>   <p><font face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160; <font color="#808080"> private static Object master; </font></font></p>    <p><font face="Comic Sans MS" color="#808080">&#160;&#160;&#160;&#160;&#160;&#160;&#160; /// &lt;summary&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; /// 此属性用于：保存Master对象，以提供Find Control in the Master Page        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; /// &lt;/summary&gt;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; public static Object PageMaster {        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; get { return master; }        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; private set { master = value; }        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; } </font></p> </blockquote>  <p><font face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <strong>A Page:</strong></font></p>  <p><font face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="#404040">protected void Button_Click ( Object sender , EventArgs e ) {</font></font></p>  <p><font face="Comic Sans MS" color="#404040">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Button button = FindPageElementByItemIndex&lt;Button&gt;( sender , &quot;buttonID&quot; );</font></p>  <p><font face="Comic Sans MS" color="#404040">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //可以对Button进行相应操作</font></p>  <p><font face="Comic Sans MS" color="#404040">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; GridView gridView = FindPageElementByItemIndex&lt;GridView&gt;( sender , &quot;gridViewID&quot; );</font></p>  <p><font face="Comic Sans MS" color="#404040">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //可以对GridView进行相应操作(gridView.Visible = true, etc)</font></p>  <p><font face="Comic Sans MS" color="#404040">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</font></p>  <blockquote>   <p><font face="Comic Sans MS" color="#404040">&#160;&#160;&#160;&#160;&#160;&#160;&#160; private T FindPageElementByItemIndex&lt;T&gt; ( Object sender , String findTarget ) where T : class {       <br /></font></p>    <p><font face="Comic Sans MS" color="#404040">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ///确定当前Button在DataList中的位置       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <strong>Int32 curItemIndex = ( ( sender as Control ).BindingContainer as DataListItem ).ItemIndex;</strong>        <br /></font></p>    <p><font face="Comic Sans MS" color="#404040">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ///查找当前Button 的对象</font></p>    <p><font face="Comic Sans MS" color="#404040">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ///cphMain---ContentPlaceHolderID</font></p>    <p><font face="Comic Sans MS" color="#404040">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ///searchResultPage --- UserControl&#160; ID (当然如果你没有把DataList在UserControl中，这个可以不用)</font></p>    <p><font face="Comic Sans MS" color="#404040">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ///dlSearchResult&#160; --- DataList ID</font></p>    <p><font face="Comic Sans MS"><font color="#404040">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><strong><font color="#404040">return ( ( ( MasterPage.PageMaster as MasterPage ).FindControl( &quot;<em>cphMain</em>&quot; )            <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .FindControl( &quot;<em>searchResultPage</em>&quot; )            <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .FindControl( &quot;<em>dlSearchResult</em>&quot; ) as DataList ) )            <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .Items[curItemIndex].FindControl( findTarget ) as T;            <br /></font></strong>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</font></p></blockquote> <img src ="http://www.cnblogs.com/RuiLei/aggbug/1256148.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42822/" target="_blank">[新闻]唱片商解密缘何反百度：态度强硬 人工干预明显</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>页面间传值的新思路--PreviousPage</title><link>http://www.cnblogs.com/RuiLei/archive/2008/07/17/1245009.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Thu, 17 Jul 2008 02:37:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/07/17/1245009.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1245009.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/07/17/1245009.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1245009.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1245009.html</trackback:ping><description><![CDATA[<p><font size="4" face="Comic Sans MS">使用PreviousPage可以不需要，上一个页面为传值而去做相关的动作,以下三种形式不同的方法 </font></p>  <p><font size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160; PreviousPage:获取向当前页传输控件的页。 </font></p>  <p><font size="4" face="Comic Sans MS"><strong>第一种方法:</strong></font></p>  <blockquote>   <p><font color="#404040" size="4" face="Comic Sans MS"><a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/08a9444b7a69_8CEB/u=2424705731,2319894863&amp;fm=3&amp;gp=41_2.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" border="0" alt="u=2424705731,2319894863&amp;fm=3&amp;gp=41" align="left" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/08a9444b7a69_8CEB/u=2424705731,2319894863&amp;fm=3&amp;gp=41_thumb.jpg" width="104" height="104" /></a>fromPage.aspx:</font></p>    <p><font color="#404040" size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //用PostBackUrl属性转到其它页面。       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Buton.PostBackUrl = &quot;toPage.aspx&quot;;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //PostBackUrl属性只在(*)Button类型上面才有。且必须由用户触发        <br /></font></p>    <p><font color="#404040" size="4" face="Comic Sans MS">toPage.aspx:</font></p>    <p><font color="#404040" size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //把之前页面中的控件取过来       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; TextBox txtBox =&#160;&#160; (TextBox)PreviousPage.FindControl(&quot;txtName&quot;);</font></p> </blockquote>  <p><font size="4" face="Comic Sans MS"></font></p>  <p><font size="4" face="Comic Sans MS">取得来源页面的公共属性值</font></p>  <p><font size="4" face="Comic Sans MS"><strong>第二种方法:</strong></font></p>  <blockquote>   <p><font color="#808080" size="4" face="Comic Sans MS">使用PreviousPageType:       <br /><font color="#808080" size="4" face="Comic Sans MS"><a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/08a9444b7a69_8CEB/u=2424705731,2319894863&amp;fm=3&amp;gp=41_2.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" border="0" alt="u=2424705731,2319894863&amp;fm=3&amp;gp=41" align="left" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/08a9444b7a69_8CEB/u=2424705731,2319894863&amp;fm=3&amp;gp=41_thumb.jpg" width="104" height="104" /></a></font>fromPage.aspx:        <br />&#160;&#160;&#160;&#160;&#160;&#160; public string UserName {</font></p>    <p><font color="#808080" size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //公共属性UserName返回Buton上面的Text值       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; get{ return Buton.Text; }        <br />&#160;&#160;&#160;&#160;&#160;&#160; }        <br />Buton.PostBackUrl = &quot;toPage.aspx&quot;;</font></p> </blockquote>  <blockquote>   <p><font color="#808080" size="4" face="Comic Sans MS">toPage.aspx:</font></p>    <p><font color="#808080" size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //一个Page只能有一个PreviousPageType       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;%@ page PreviousPageType Virtualpath=&quot;fromPage.aspx&quot;&#160;&#160; %&gt;</font></p>    <p><font color="#808080" size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //直接取来源页面中的值</font></p>    <p><font color="#808080" size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Response.write( PreviousPage.UserName );</font></p>    <p><font size="4" face="Comic Sans MS">第三种方法:</font></p> </blockquote>  <blockquote>   <p><font size="4" face="Comic Sans MS"><a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/08a9444b7a69_8CEB/u=2424705731,2319894863&amp;fm=3&amp;gp=41_2.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" border="0" alt="u=2424705731,2319894863&amp;fm=3&amp;gp=41" align="left" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/08a9444b7a69_8CEB/u=2424705731,2319894863&amp;fm=3&amp;gp=41_thumb.jpg" width="104" height="104" /></a>引用方式</font></p>    <p><font color="#404040" size="4" face="Comic Sans MS">fromPage.aspx:</font></p>    <p><font color="#404040" size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160; //公共属性UserName返回Buton上面的Text值       <br />&#160;&#160;&#160;&#160;&#160; public string UserName {&#160; </font></p>    <p><font color="#404040" size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; get{ return Buton.Text; }       <br />&#160;&#160;&#160;&#160;&#160; }        <br />Buton.PostBackUrl = &quot;toPage.aspx&quot;;</font></p>    <p><font color="#404040" size="4" face="Comic Sans MS"></font></p>    <p><font color="#404040" size="4" face="Comic Sans MS">toPage.aspx:</font></p>    <p><font color="#404040" size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //一个Page可以有多个Reference 多个来源页       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;%@ page Reference Virtualpath=&quot;fromPage.aspx&quot;&#160;&#160; %&gt;</font></p>    <p><font color="#404040" size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //获取来源页实例，转成@Reference 指令中定义的页面</font></p>    <p><font color="#404040" size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; fromPage sourcePage = PreviousPage as fromPage;</font></p>    <p><font color="#404040" size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //直接取来源页面中的值&#160;&#160;&#160; </font></p>    <p><font color="#404040" size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //多个页面强转时要判断归属于哪个页面</font></p>    <p><font color="#404040" size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Response.write( sourcePage.UserName );</font></p>    <p><font size="4" face="Comic Sans MS"></font></p>    <p><font size="4" face="Comic Sans MS">完整代码       <br />toPage.aspx:        <br /><font size="4" face="Comic Sans MS"><a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/08a9444b7a69_8CEB/26020_fb9d09643c_2.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" border="0" alt="26020_fb9d09643c" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/08a9444b7a69_8CEB/26020_fb9d09643c_thumb.jpg" width="146" height="146" /></a></font>try {</font></p>    <p><font size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160; //若从非来源页（@Reference 指令中定义的页面）过来。则为NULL&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160; if ( PreviousPage != null ) {</font></p>   <font size="4" face="Comic Sans MS">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //判断是不是来源页请求过来的(有点类似于IsPostBack)     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if ( PreviousPage.IsCrossPagePostBack )&#160; {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; fromPage sourcePage = PreviousPage as fromPage;      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; string name = sourcePage.UserName;      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }      <br />&#160;&#160;&#160;&#160;&#160; }      <br />}      <br />catch{}</font></blockquote>  <img src ="http://www.cnblogs.com/RuiLei/aggbug/1245009.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42821/" target="_blank">[新闻]国外媒体评出史上十大悬疑网络犯罪</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>[转]张孟苏考上的不是大学</title><link>http://www.cnblogs.com/RuiLei/archive/2008/07/15/1243153.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Tue, 15 Jul 2008 02:03:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/07/15/1243153.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1243153.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/07/15/1243153.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1243153.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1243153.html</trackback:ping><description><![CDATA[<p>原文：<a title="http://blog.sina.com.cn/s/blog_4910bb430100a5gy.html" href="http://blog.sina.com.cn/s/blog_4910bb430100a5gy.html">http://blog.sina.com.cn/s/blog_4910bb430100a5gy.html</a></p>  <p><font face="华文细黑" size="2">&#160;&#160;&#160;&#160;&#160;&#160; 张孟苏考因为助人为乐得到来新加坡读书的机会，作为一个在新加坡生活了十年的人，我向她表示祝贺。但为了对社会负责，对读者负责，我决定写这篇文章。     <br />许多人对新加坡体制一直有着许多的误解，把Polytechnic说成是大学也不是什么新鲜事了，请不要说Poly在其他国家是什么，在新加坡它的确不是大学。除了这件事外，许多人对新加坡的高薪养廉也存在着很大的误解，大家有空的话可以看看我早前的文章。      <br />1）</font><a href="http://blog.sina.com.cn/s/blog_4910bb4301000bit.html"><font face="华文细黑" size="2">新加坡的大学为何这么少？</font></a>    <br /><font face="华文细黑" size="2">2）</font><a href="http://http//blog.sina.com.cn/s/blog_4910bb4301000bct.html"><font face="华文细黑" size="2">新加坡普通公务员是亚洲最穷的公务员</font></a>    <br /><font face="华文细黑" size="2">新加坡推行精英教育，大学生只有20%多一些，近几年略有增加。新加坡的教育也非常看重分数，淘汰制也相当的残酷，一点儿不输给国内的系统，最近几年才鼓励更多成绩优异的大专生申请大学（无需高考）。新加坡的理工学院（Polytechnic）并不是大学，可以算作专科。学生初中四年毕业后可进入理工学院读书，成绩较差者需要在初中待五年后才能进入理工学院。因此理工学院里主要是些16-18岁的孩子。同一个名词在不同国家有不同的解释，这是司空见惯的事情。张孟苏拿到的奖学金是助学金，每一个学生都有，这是政府的补贴，让钱从政府的一个口袋进入另一个口袋，而学生将为此保证留在新加坡工作三年。     <br />需要声明的是，我对poly学生没有任何偏见，读poly比读国内三流大学强。不仅容易移民新加坡，而且学到的东西很实用，成绩优异者还有机会升入大学。Polytechnic是新加坡教育制度中的一个重要环节，理工学院的课程更加注重实际应用，而大学更偏重理论。它使得那些动手能力强的学生，避开了枯燥的理论学习，发挥这些学生的优势。虽然说这类学校的教育水平比国内的三流大学要好，但实在不能称之为大学。理工学院学制为三年，如果没有耽误学业，理工学院学生毕业的时候只有19岁。      <br />这件事本无需要大惊小怪，错就在媒体的炒作，说什么低分生考入新加坡大学，这就有些过分了。国内把一些大专院校拔苗助长升级为大学，本来就是一件很愚蠢的事情。现在不仅要升级国内的，而且要一厢情愿地把新加坡的大专也升级为大学，真是幽默。新加坡曾经有人提过，要将五所Polytechnic升级为大学，结果总理都出面反对，认为这样产生所谓的二三流大学，不仅降低了大学生的标准，也会造成技术人才的短缺，失业率飙升。      <br />新加坡的大学只有四所：新加坡国立大学（NUS），南洋理工大学(NTU)（注意，不是南洋理工学院），新加坡管理大学(SMU)和新跃大学(UniSIM)。其中有学术水平的是前面两个，它们的学生人数占绝大多数。少量学生在SMU，一所政府资助的私立大学。第四所大学，到目前为止，某种程度上还是一所成人大学。      <br />这样的报道会误导大众，误导考生，让大家以为新加坡的理工学院就是大学！在国内做留学生意的商人更是会利用这个误会，把理工学院说成是新加坡的大学，把助学金说成是奖学金，以此吸引更多人前来读书，并从中牟利。      <br />新加坡小学6年，初中4年。初中毕业后，中考(O-level)成绩较好的20%+的学生可以进入高中（初级学院）学习2年，然后参加高考，其中大部分人都能进入大学读书。中考成绩不太好，或者成绩好但是选择不读高中的人，进入理工学院学习3年。理工学院成绩优异者，还有机会再进大学。例如新加坡理工学院的简介中写道：Singapore Polytechnic offers 44 full-time diploma courses to prepare students for university and work.（新加坡理工学校提供44种全日制文凭课程，为学生进入大学和工作做好准备）      <br />希望媒体能更正他们的错误，别再以讹传讹了。      <br />（笔者生于北京，清华附中、清华大学校友，旅居新加坡10年，新加坡政府奖学金得主，先后毕业于新加坡国立和南洋理工大学）</font></p> <img src ="http://www.cnblogs.com/RuiLei/aggbug/1243153.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42820/" target="_blank">[新闻]AMD拆分方案已确认 获阿联酋84亿美元投资</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>ruilei.cnblogs 访问量突破20万</title><link>http://www.cnblogs.com/RuiLei/archive/2008/07/14/1242941.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Mon, 14 Jul 2008 14:13:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/07/14/1242941.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1242941.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/07/14/1242941.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1242941.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1242941.html</trackback:ping><description><![CDATA[<p align="center"><font face="华文细黑" size="4"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font face="华文细黑" size="4"><strong><a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/ruilei.cnblogs20_137FD/IMG_0513.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="IMG_0513" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/ruilei.cnblogs20_137FD/IMG_0513_thumb.jpg" width="184" border="0" /></a></strong></font>WOW，20万访问量</strong></font></p>
<blockquote>
<p><font face="华文细黑" size="4"><strong>&nbsp;&nbsp;&nbsp; 首先谢谢dudu提供给我们这些技术博民的&#8220;博台&#8221;，</strong></font></p>
<p><font face="华文细黑" size="4"><strong>&nbsp;&nbsp;&nbsp; 然后感谢大家对我的支持，以及你们的浏览，以及你们的跟贴、驳贴。</strong></font></p>
<p><font face="华文细黑" size="4"><strong>&nbsp;&nbsp;&nbsp; 在cnblogs上，我的技术成长了不少，同时也相识不少同志，朋友。</strong></font></p>
<p><font face="华文细黑" size="4"><strong>&nbsp;&nbsp;&nbsp; 工作之时，我们可以互相帮助，工作之余，我们谈笑MSN之上。</strong></font></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/ruilei.cnblogs20_137FD/20W_2.jpg"><font face="华文细黑" color="#000000" size="4"><strong><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="96" alt="20W" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/ruilei.cnblogs20_137FD/20W_thumb.jpg" width="259" border="0" /></strong></font></a><font face="华文细黑" size="4"><strong> 最后再次说一声：感谢，谢谢支持。</strong></font></p>
<p><font face="华文细黑" size="4"><strong>&nbsp;&nbsp; 我还是会继续爬梯&nbsp; (when 30万访问量 期待.....<img alt="" src="http://www.cnblogs.com/Emoticons/tusiji/203330658.gif" /><img alt="" src="http://www.cnblogs.com/Emoticons/tusiji/203330839.gif" />)</strong></font></p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/ruilei.cnblogs20_137FD/SSA51963.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="326" alt="SSA51963" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/ruilei.cnblogs20_137FD/SSA51963_thumb.jpg" width="431" border="0" /></a></p>
<p><embed pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://news.sohu.com/player/20080811/Main.swf" width="510" height="420" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" bgcolor="#000000" quality="high" flashvars="type=Singleton&amp;domain=inner&amp;skin=0&amp;flv=flvVideoString&amp;cover=&amp;autoPlay=false&amp;recommend=http://2008.sohu.com/20080822/n259136785_news.shtml&amp;pageUrl=http://2008.sohu.com/20080822/n259136785.shtml"> </p>
<img src ="http://www.cnblogs.com/RuiLei/aggbug/1242941.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42817/" target="_blank">[新闻]雅虎新闻首页改版，宽屏、共享、组件</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>（Jquery）推进网站应用时尚元素-----Boost Your Website’s Fanciness Factor</title><link>http://www.cnblogs.com/RuiLei/archive/2008/07/14/1242450.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Mon, 14 Jul 2008 06:13:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/07/14/1242450.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1242450.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/07/14/1242450.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1242450.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1242450.html</trackback:ping><description><![CDATA[摘要: 开发时，应用不少时尚，花俏的网页元素，不施是一种吸引用户眼球，增强用户体验的不错选择；这样一来，应合用户的口味、二来可以打造时尚以及个性化的元素来贴近web2.0&nbsp;&nbsp;<a href='http://www.cnblogs.com/RuiLei/archive/2008/07/14/1242450.html'>阅读全文</a><img src ="http://www.cnblogs.com/RuiLei/aggbug/1242450.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42817/" target="_blank">[新闻]雅虎新闻首页改版，宽屏、共享、组件</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>如何剥离具体动作的具体实现 (Event +=)</title><link>http://www.cnblogs.com/RuiLei/archive/2008/07/10/1240091.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Thu, 10 Jul 2008 08:12:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/07/10/1240091.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1240091.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/07/10/1240091.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1240091.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1240091.html</trackback:ping><description><![CDATA[<p><font face="华文宋体">&#160;&#160;&#160;&#160;&#160; </font></p>  <h6><font size="2"><font face="华文宋体">&#160;&#160;&#160;&#160;&#160;&#160; <font color="#0000ff" size="4">如何剥离具体动作的具体实现，怎么说呢，比如：一个人在路上散步，此时遇到朋友时，你会对其说：hello;如果遇到车辆时，你会及时让开它，以免受伤。。</font></font></font></h6>  <h6><font face="华文宋体" color="#0000ff" size="4">从技术角度来说：</font></h6>  <h6><font face="华文宋体" color="#0000ff" size="4">&#160;&#160;&#160;&#160;&#160;&#160; Client即是一个场景</font></h6>  <h6><font face="华文宋体" color="#0000ff" size="4">&#160;&#160;&#160;&#160;&#160;&#160; Action即是具体执行动作的</font></h6>  <h6><font face="华文宋体" color="#0000ff" size="4">&#160;&#160;&#160;&#160;&#160;&#160; FailedEventArgs即是自定义的事件类</font></h6>  <h6><font face="华文宋体" color="#0000ff" size="4">&#160;&#160;&#160;&#160;&#160;&#160; CustomerEventProvider即是一个事件提供者</font></h6>  <h6><font face="华文宋体" color="#0000ff" size="4">此code的另一个好处：扩展性还是比较不错。如果要处理要的动作时，只需要更改&quot;具体的实现&quot;即可。</font></h6>  <h6><font face="华文宋体" color="#0000ff" size="4">其实如果动作多的话，用Command模式，或者你认为可以的模式都是可以。反正具体情况具体调配吧，</font></h6>  <h6><font face="华文宋体" color="#0000ff" size="4">此程序：我使用定义事件的方式，来剥离具体动作的具体实现。Come on Beat!</font></h6>  <p><font face="华文宋体">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; By </font><a title="Caviare Blog" href="http://www.cnblogs.com/caviare/" target="_blank" rel="tag"><font face="华文宋体">Caviare</font></a><font face="华文宋体"> , </font><a href="http://ruilei.cnblogs.com/" target="_blank"><font face="华文宋体">BrianLei</font></a></p>  <p><font face="华文中宋" size="2">程序如下：</font></p>  <p><font face="华文中宋" size="2">////调用处</font></p>  <p><font face="华文中宋" size="2">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; new Client( &quot;Car&quot; );</font></p>  <p><font face="华文中宋" size="2">///</font></p>  <p><font face="华文中宋">public class Client      <br />{       <br />&#160;&#160;&#160; CustomerEventProvider cep; </font></p>  <p><font face="华文中宋">&#160;&#160;&#160; public Client ( String fallAcross ) {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; cep = new CustomerEventProvider();       <br />&#160;&#160;&#160;&#160;&#160;&#160; <font size="2">///当其散步之前，预先定义几个事件（即动作），遇到情况时自动去执行具体的动作，给于反应。</font>       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; cep.OnFailed += new CustomerEventProvider.FailedHandler( Action.Failed );       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; cep.OnSuccess += new CustomerEventProvider.SuccessHandler( Action.Success );       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Walk( fallAcross );       <br />&#160;&#160;&#160; } </font></p>  <p><font face="华文中宋">&#160;&#160;&#160; public void Walk ( String fallAcross ) {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font face="华文中宋"><font size="2">///这里写的几点粗糙，这里可以用具体的模式，弃用if,else.        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; ///我在这里就不写。反正就是提供一个思路         <br /></font>&#160;&#160;&#160;&#160;&#160;&#160;&#160; if ( fallAcross.Equals( &quot;People&quot; ) ) {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; cep.ShowSuccess( this , new EventArgs() );       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; else {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; FailedEventArgs fea = new FailedEventArgs();       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; cep.ShowFailed( this , fea );       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }       <br />&#160;&#160;&#160; }       <br />} </font></p>  <p><font face="华文中宋">/// &lt;summary&gt;      <br />/// <font size="2">具体执行动作的类，具体实现可以在这里规化。</font>       <br />/// &lt;/summary&gt;       <br />public class Action       <br />{       <br />&#160;&#160;&#160; public static void Success ( Object Sender , EventArgs e ) {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Console.WriteLine( &quot;Success&quot; );       <br />&#160;&#160;&#160; } </font></p>  <p><font face="华文中宋">&#160;&#160;&#160; public static void Failed ( Object Sender , FailedEventArgs e ) {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; e.EventMessage = &quot;Failed&quot;;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Console.WriteLine( e.EventMessage );       <br />&#160;&#160;&#160; }       <br />} </font></p>  <p><font face="华文中宋">/// &lt;summary&gt;      <br />/// </font><font face="华文中宋"><font size="2">自定义事件类        <br />/// 用于：定义一些EventCode,Message Etc.         <br /></font>/// &lt;/summary&gt;       <br />public class FailedEventArgs : EventArgs       <br />{       <br />&#160;&#160;&#160; private String eventCode; </font></p>  <p><font face="华文中宋">&#160;&#160;&#160; public String EventCode {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; get { return eventCode; }       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; set { eventCode = value; }       <br />&#160;&#160;&#160; } </font></p>  <p><font face="华文中宋">&#160;&#160;&#160; private String eventMessage; </font></p>  <p><font face="华文中宋">&#160;&#160;&#160; public String EventMessage {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; get { return eventMessage; }       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; set { eventMessage = value; }       <br />&#160;&#160;&#160; }       <br />} </font></p>  <p><font face="华文中宋">/// &lt;summary&gt;      <br />/// </font><font face="华文中宋"><font size="2">事件提供者，定义各种的动作        <br /></font>/// &lt;/summary&gt;       <br />public class CustomerEventProvider       <br />{       <br />&#160;&#160;&#160; public delegate void FailedHandler ( object sender , FailedEventArgs e ); </font></p>  <p><font face="华文中宋">&#160;&#160;&#160; public event FailedHandler OnFailed;      <br />&#160;&#160;&#160; public void ShowFailed ( object sender , FailedEventArgs e ) {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; if ( OnFailed != null ) {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; OnFailed( sender , e );       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }       <br />&#160;&#160;&#160; } </font></p>  <p><font face="华文中宋">&#160;&#160;&#160; public delegate void SuccessHandler ( object sender , EventArgs e ); </font></p>  <p><font face="华文中宋">&#160;&#160;&#160; public event SuccessHandler OnSuccess;      <br />&#160;&#160;&#160; public void ShowSuccess ( object sender , EventArgs e ) {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; if ( OnSuccess != null ) {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; OnSuccess( sender , e );       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }       <br />&#160;&#160;&#160; }       <br />}</font></p> <img src ="http://www.cnblogs.com/RuiLei/aggbug/1240091.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42816/" target="_blank">[新闻]传阿里投资淘宝超40亿元 应对百度C2C</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>失落的星球 Lost Planet 秘籍 </title><link>http://www.cnblogs.com/RuiLei/archive/2008/07/09/1238897.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Wed, 09 Jul 2008 06:51:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/07/09/1238897.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1238897.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/07/09/1238897.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1238897.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1238897.html</trackback:ping><description><![CDATA[<p>&#160;</p>  <p>WOW,最近狂玩了Lost Planet(失落的星球)<a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/8d380a6605b8_C54B/u=3471641603,2618303629&amp;fm=3&amp;gp=41_2.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="68" alt="u=3471641603,2618303629&amp;fm=3&amp;gp=41" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/8d380a6605b8_C54B/u=3471641603,2618303629&amp;fm=3&amp;gp=41_thumb.jpg" width="84" border="0" /></a> ，感觉真是棒极了。外加了震动手柄，让其游戏的动作感发挥的不错。前几关还是比较简单的，但是当我玩到第6关时，BOSS（Green Eye）<a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/8d380a6605b8_C54B/greeneye_2.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="91" alt="greeneye" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/8d380a6605b8_C54B/greeneye_thumb.jpg" width="144" border="0" /></a> 的出现，一时让我也点傻了眼，这么大的怪物，我在电玩中还是第一次碰面。呵呵，为了打这个巨大的爬虫，我还是去网上看了不少玩民的心得。但是玩了很长时间才把它轻松干掉。</p>  <p>接下来就是第9关的那个笨蛋机器真是一个死心眼，一直把我底在旁边的墙上，我为了搞定它，花了89分钟。其实搞定它，还是比较简单的，只要飞到旁边停机器人的边沿，一定要先解决那三个小的BOSS，不然它们会总是放导弹的，然后你就不明不白的Mission Failed；解决它们之后，只要跑到边沿的最后一格，让你就可以和那个大笨蛋机器进行躲猫猫战术了。对了，武器用导弹和光射线就可以了，机枪对付它不行的。<a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/8d380a6605b8_C54B/26020_fb9d09643c_2.jpg"><img height="128" alt="26020_fb9d09643c" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/8d380a6605b8_C54B/26020_fb9d09643c_thumb.jpg" width="128" border="0" /></a></p>  <p>第10关我也是比较郁闷的，因为这个BOSS，我几乎打花了所有的弹药，它还是没有倒下的迹象。靠，打个鬼啊。。。<a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/8d380a6605b8_C54B/bad_smile_2.gif"><img height="80" alt="bad_smile" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/8d380a6605b8_C54B/bad_smile_thumb.gif" width="80" align="left" border="0" /></a>&#160; </p>  <p>&#160;</p>  <p>&#160;</p>  <p>&#160;</p>  <p>附录：&#160;&#160;&#160;&#160;&#160;&#160; </p>  <p>&#160;&#160;&#160;&#160;&#160;&#160; PC版《失落的星球：极限状态》支持 Windows XP / Vista，硬体配备需求如下：</p>  <p> <font color="#808080">基本配置</font></p>  <p><font color="#808080"> 处理器：Pentium D 以上     <br /> 内存：Windows XP 512MB 以上，Windows Vista 1GB 以上      <br /> 硬盘空间：8GB 以上可用储存空间      <br /> 显卡 ：支援 DirectX 9.0c / Shader 3.0，GeForce 6600 以上      <br /></font> </p>  <p> 建议配置</p>  <p> 处理器：Intel Core 2 Duo 以上   <br /> 内存：Windows XP 1GB 以上，Windows Vista 2GB 以上    <br /> 显卡 ：GeForce 8800 以上</p>  <p>&#160;</p>  <p>&#160;&#160;&#160;&#160;&#160; <font color="#0000ff"> 本人爱机配置</font></p>  <p><font color="#0000ff">&#160;&#160;&#160; 处理器：Intel Core 2 Duo E6550</font></p>  <p><font color="#0000ff"> 内存：Windows Vista X64 6GB</font></p>  <p><font color="#0000ff"> 显卡 ：GeForce 8600 GT 256MB</font></p>   <img src ="http://www.cnblogs.com/RuiLei/aggbug/1238897.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42815/" target="_blank">[新闻]传雅虎最快本月将宣布收购美国在线</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>迅雷新闻快讯区---JS代码剖析</title><link>http://www.cnblogs.com/RuiLei/archive/2008/06/27/1230748.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Fri, 27 Jun 2008 12:55:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/06/27/1230748.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1230748.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/06/27/1230748.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1230748.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1230748.html</trackback:ping><description><![CDATA[摘要: 迅雷新闻快讯以前原这样是flash，今天突然发现是js Coding出来。所以我就分析一下。以备后用。 文件下载：XunleiPicChange&#160;  1&lt;div class=&quot;flashBox&quot;&gt;&#160;  2&#160; &lt;div id=&quot;Switch_0&quot; class=&quot;SwitchPic&quot;&gt;&#&nbsp;&nbsp;<a href='http://www.cnblogs.com/RuiLei/archive/2008/06/27/1230748.html'>阅读全文</a><img src ="http://www.cnblogs.com/RuiLei/aggbug/1230748.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42814/" target="_blank">[新闻]周一美国股市科技股惨跌 纳综指创4年新低</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>HighSlide Js(图片特效)</title><link>http://www.cnblogs.com/RuiLei/archive/2008/06/14/1220904.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Fri, 13 Jun 2008 16:01:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/06/14/1220904.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1220904.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/06/14/1220904.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1220904.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1220904.html</trackback:ping><description><![CDATA[<p><a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/HighSlideJs_150DD/image_12.png"><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="331" alt="image" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/HighSlideJs_150DD/image_thumb_5.png" width="229" align="right" border="0" /></span></span></a></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 63.52%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 316px; background-color: #eeeeee"><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #008080">&nbsp;1</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&lt;</span><span style="color: #000000">body</span><span style="color: #000000">&gt;</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">form&nbsp;id</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">form1</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;runat</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">server</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">highSlide:HighslideManager&nbsp;runat</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">server</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;OutlineType</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">RoundedWhite</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ControlBar</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">true</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">/&gt;</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">div&nbsp;id</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">content</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">highSlide:HighslideImage&nbsp;runat</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">server</span><span style="color: #800000">"</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageUrl</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">缩小图片</span><span style="color: #800000">"</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FullImageURL</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">原始大小的图片</span><span style="color: #800000">"</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AlternateText</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">Image&nbsp;of&nbsp;barn</span><span style="color: #800000">"</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Caption</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">Image&nbsp;2&nbsp;Caption</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">/&gt;</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">10</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">highSlide:HighslideImage&nbsp;runat</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">server</span><span style="color: #800000">"</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageUrl</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">~/img/highSlide-small.jpg</span><span style="color: #800000">"</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FullImageURL</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">~/img/highSlide-full.jpg</span><span style="color: #800000">"</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Caption</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">Image&nbsp;1&nbsp;Caption</span><span style="color: #800000">"</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TitleText</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">Click&nbsp;to&nbsp;show&nbsp;bigger!</span><span style="color: #800000">"</span><span style="color: #000000">/&gt;</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">div</span><span style="color: #000000">&gt;</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">div</span><span style="color: #000000">&gt;</span></span></span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">form</span><span style="color: #000000">&gt;</span></span></span><span style="color: #000000"><br />
</span><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="color: #008080">19</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span></span></span></div>
<p><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console">&nbsp;</span></span></p>
<h4 align="left"><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console">Core DLL Download File: </span></span><a title="HighSlide Js Core File" href="http://www.cnblogs.com/Files/RuiLei/HighslideImage.rar"><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console">HighSlide Js Core File</span></span></a><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console">&nbsp;<img height="105" alt="" src="http://www.cnblogs.com/images/cnblogs_com/ruilei/WindowsLiveWriter/HighSlideJs_150DD/image_thumb_7.png" width="159" border="0" /></span></span></h4>
<p><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><span style="font-family: 微软雅黑"><span style="font-family: "><span style="font-family: ">如下是官方的效果图:</span></span></span><img src="http://www.cnblogs.com/Emoticons/tusiji/203707182.gif"  alt="" /></span></span></p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/HighSlideJs_150DD/image_2.png"><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="239" alt="image" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/HighSlideJs_150DD/image_thumb.png" width="416" border="0" /></span></span></a><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"> </span></span></p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/HighSlideJs_150DD/image_14.png"><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="390" alt="image" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/HighSlideJs_150DD/image_thumb_6.png" width="419" border="0" /></span></span></a><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"> </span></span></p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/HighSlideJs_150DD/image_8.png"><span style="font-family: Comic Sans MS"><span style="font-family: Lucida Console"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="351" alt="image" src="http://www.cnblogs.com/images/cnblogs_com/RuiLei/WindowsLiveWriter/HighSlideJs_150DD/image_thumb_3.png" width="416" border="0" /></span></span></a></p>
<img src ="http://www.cnblogs.com/RuiLei/aggbug/1220904.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42813/" target="_blank">[新闻]关于Firefox 3你不知道的八个功能</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>动态操作.Config文件</title><link>http://www.cnblogs.com/RuiLei/archive/2008/06/11/1217576.html</link><dc:creator>BrianLei</dc:creator><author>BrianLei</author><pubDate>Wed, 11 Jun 2008 13:01:00 GMT</pubDate><guid>http://www.cnblogs.com/RuiLei/archive/2008/06/11/1217576.html</guid><wfw:comment>http://www.cnblogs.com/RuiLei/comments/1217576.html</wfw:comment><comments>http://www.cnblogs.com/RuiLei/archive/2008/06/11/1217576.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/RuiLei/comments/commentRss/1217576.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/RuiLei/services/trackbacks/1217576.html</trackback:ping><description><![CDATA[<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; font-family: Lucida Console; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img id="Codehighlighter1_1_161_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1_161_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1_161_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1_161_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1_161_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1_161_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1_161_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1_161_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_1_161_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_1_161_Open_Text"><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Dynamic&nbsp;Write&nbsp;App.config<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;param&nbsp;name="AppKey"&gt;&lt;/param&gt;</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;param&nbsp;name="AppValue"&gt;&lt;/param&gt;</span></span><br />
<span style="color: #008080">&nbsp;6</span><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000