﻿<?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>博客园-珠海.NET俱乐部</title><link>http://zhuhai.cnblogs.com</link><description>关注.NET技术，交流.NET技术，应用.NET技术。</description><language>zh-cn</language><lastBuildDate>Wed, 10 Feb 2010 09:56:59 GMT</lastBuildDate><pubDate>Wed, 10 Feb 2010 09:56:59 GMT</pubDate><ttl>60</ttl><item><title>回车跳转控件焦点</title><link>http://www.cnblogs.com/linsongbin/archive/2009/10/08/1579041.html</link><dc:creator>林松斌</dc:creator><author>林松斌</author><pubDate>Thu, 08 Oct 2009 03:45:00 GMT</pubDate><guid>http://www.cnblogs.com/linsongbin/archive/2009/10/08/1579041.html</guid><description><![CDATA[<p>阅读: 108 评论: 0 作者: <a href="" target="_blank">林松斌</a> 发表于 2009-10-08 11:45 <a href="http://www.cnblogs.com/linsongbin/archive/2009/10/08/1579041.html" target="_blank">原文链接</a></p><div>通过重写 ProcessCmdKey 方法<br /><br />
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">partial</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Form1&nbsp;:&nbsp;Form<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Form1()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InitializeComponent();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">override</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;ProcessCmdKey(</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;Message&nbsp;msg,&nbsp;Keys&nbsp;keyData)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;WM_KEYDOWN&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">256</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;WM_SYSKEYDOWN&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">260</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(msg.Msg&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;WM_KEYDOWN&nbsp;</span><span style="color: #000000">|</span><span style="color: #000000">&nbsp;msg.Msg&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;WM_SYSKEYDOWN)<br />&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;</span><span style="color: #0000ff">switch</span><span style="color: #000000">&nbsp;(keyData)<br />&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;</span><span style="color: #0000ff">case</span><span style="color: #000000">&nbsp;Keys.Enter:<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;</span><span style="color: #0000ff">base</span><span style="color: #000000">.ProcessDialogKey(Keys.Tab);<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;</span><span style="color: #0000ff">break</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">default</span><span style="color: #000000">:<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;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">base</span><span style="color: #000000">.ProcessCmdKey(</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;msg,&nbsp;keyData);<br />&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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}</span></div></div><img src="aggbug/1579041.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/linsongbin/archive/2009/10/08/1579041.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/linsongbin/archive/2009/10/08/1579041.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56859/" target="_blank">美调查公司称苹果iPad配件成本最低219美元</a><span style="color:gray">(2010-02-10 17:20)</span><br/>· <a href="http://news.cnblogs.com/n/56858/" target="_blank">摩尔庄园：儿童生意密码</a><span style="color:gray">(2010-02-10 17:15)</span><br/>· <a href="http://news.cnblogs.com/n/56857/" target="_blank">Facebook与美国在线合作 整合AIM动态功能</a><span style="color:gray">(2010-02-10 16:41)</span><br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>让程序只启动一次 -- Mutex</title><link>http://www.cnblogs.com/linsongbin/archive/2009/10/06/1578398.html</link><dc:creator>o﹎Lin゛</dc:creator><author>o﹎Lin゛</author><pubDate>Tue, 06 Oct 2009 03:16:00 GMT</pubDate><guid>http://www.cnblogs.com/linsongbin/archive/2009/10/06/1578398.html</guid><description><![CDATA[<p>阅读: 102 评论: 0 作者: <a href="" target="_blank">o﹎Lin゛</a> 发表于 2009-10-06 11:16 <a href="http://www.cnblogs.com/linsongbin/archive/2009/10/06/1578398.html" target="_blank">原文链接</a></p>有时在开发程序的时候, 有时需要只能同时运行一个实例.<br />Mutex 类， 称为互拆体， 是一个同步基元， 它只向一个线程授予对共享资源的独占访问权。<br />当两个或更多线程需要同时访问一个共享资源时，系统需要使用同步机制来确保一次只有一个线程使用该资源。<br />如果一个线程获取了互斥体，则要获取该互斥体的第二个线程将被挂起，直到第一个线程释放该互斥体。<br /><br />下面演示 Mutex 类来保证应用程序只有唯一实例<br /><br />
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System;<br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Collections.Generic;<br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Linq;<br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Windows.Forms;<br /><br /></span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;让程序只启动一次<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Program<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&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 />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;应用程序的主入口点。<br />&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: #808080"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[STAThread]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;Main()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application.EnableVisualStyles();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application.SetCompatibleTextRenderingDefault(</span><span style="color: #0000ff">false</span><span style="color: #000000">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;bCreate;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Threading.Mutex&nbsp;mutex&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;System.Threading.Mutex(</span><span style="color: #0000ff">false</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">SINGILE_INSTANCE_MUTEX</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">out</span><span style="color: #000000">&nbsp;bCreate);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(bCreate)<br />&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;Application.Run(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Form1());<br />&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;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />&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;MessageBox.Show(</span><span style="color: #800000">"</span><span style="color: #800000">程序已经启动</span><span style="color: #800000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application.Exit();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span></div><img src="aggbug/1578398.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/linsongbin/archive/2009/10/06/1578398.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/linsongbin/archive/2009/10/06/1578398.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56859/" target="_blank">美调查公司称苹果iPad配件成本最低219美元</a><span style="color:gray">(2010-02-10 17:20)</span><br/>· <a href="http://news.cnblogs.com/n/56858/" target="_blank">摩尔庄园：儿童生意密码</a><span style="color:gray">(2010-02-10 17:15)</span><br/>· <a href="http://news.cnblogs.com/n/56857/" target="_blank">Facebook与美国在线合作 整合AIM动态功能</a><span style="color:gray">(2010-02-10 16:41)</span><br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>操作自定义配置节</title><link>http://www.cnblogs.com/gecko/archive/2009/07/10/gecko.html</link><dc:creator>gecko</dc:creator><author>gecko</author><pubDate>Fri, 10 Jul 2009 08:19:00 GMT</pubDate><guid>http://www.cnblogs.com/gecko/archive/2009/07/10/gecko.html</guid><description><![CDATA[<p>阅读: 164 评论: 0 作者: <a href="" target="_blank">gecko</a> 发表于 2009-07-10 16:19 <a href="http://www.cnblogs.com/gecko/archive/2009/07/10/gecko.html" target="_blank">原文链接</a></p><!--[if !mso]> <style> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style> <![endif]--><!--[if gte mso 9]><xml>  <w:WordDocument>   <w:View>Normal</w:View>   <w:Zoom>0</w:Zoom>   <w:TrackMoves/>   <w:TrackFormatting/>   <w:PunctuationKerning/>   <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>   <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>   <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>   <w:ValidateAgainstSchemas/>   <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>   <w:IgnoreMixedContent>false</w:IgnoreMixedContent>   <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>   <w:DoNotPromoteQF/>   <w:LidThemeOther>EN-US</w:LidThemeOther>   <w:LidThemeAsian>ZH-CN</w:LidThemeAsian>   <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>   <w:Compatibility>    <w:SpaceForUL/>    <w:BalanceSingleByteDoubleByteWidth/>    <w:DoNotLeaveBackslashAlone/>    <w:ULTrailSpace/>    <w:DoNotExpandShiftReturn/>    <w:AdjustLineHeightInTable/>    <w:BreakWrappedTables/>    <w:SnapToGridInCell/>    <w:WrapTextWithPunct/>    <w:UseAsianBreakRules/>    <w:DontGrowAutofit/>    <w:SplitPgBreakAndParaMark/>    <w:DontVertAlignCellWithSp/>    <w:DontBreakConstrainedForcedTables/>    <w:DontVertAlignInTxbx/>    <w:Word11KerningPairs/>    <w:CachedColBalance/>    <w:UseFELayout/>   </w:Compatibility>   <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>   <m:mathPr>    <m:mathFont m:val="Cambria Math"/>    <m:brkBin m:val="before"/>    <m:brkBinSub m:val="--"/>    <m:smallFrac m:val="off"/>    <m:dispDef/>    <m:lMargin m:val="0"/>    <m:rMargin m:val="0"/>    <m:defJc m:val="centerGroup"/>    <m:wrapIndent m:val="1440"/>    <m:intLim m:val="subSup"/>    <m:naryLim m:val="undOvr"/>   </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml>  <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267">   <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal"/>   <w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>   <w:LsdException Locked="false" Priority="39" Name="toc 1"/>   <w:LsdException Locked="false" Priority="39" Name="toc 2"/>   <w:LsdException Locked="false" Priority="39" Name="toc 3"/>   <w:LsdException Locked="false" Priority="39" Name="toc 4"/>   <w:LsdException Locked="false" Priority="39" Name="toc 5"/>   <w:LsdException Locked="false" Priority="39" Name="toc 6"/>   <w:LsdException Locked="false" Priority="39" Name="toc 7"/>   <w:LsdException Locked="false" Priority="39" Name="toc 8"/>   <w:LsdException Locked="false" Priority="39" Name="toc 9"/>   <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>   <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title"/>   <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>   <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>   <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong"/>   <w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>   <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid"/>   <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>   <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>   <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>   <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>   <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote"/>   <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>   <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>   <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>   <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>   <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>   <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>   <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>   <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>  </w:LatentStyles> </xml><![endif]--><style> <!-- /* Font Definitions */  @font-face 	{font-family:宋体; 	panose-1:2 1 6 0 3 1 1 1 1 1; 	mso-font-alt:SimSun; 	mso-font-charset:134; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:3 135135232 16 0 262145 0;} @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;} @font-face 	{font-family:新宋体; 	panose-1:2 1 6 9 3 1 1 1 1 1; 	mso-font-charset:134; 	mso-generic-font-family:modern; 	mso-font-pitch:fixed; 	mso-font-signature:3 135135232 16 0 262145 0;} @font-face 	{font-family:Verdana; 	panose-1:2 11 6 4 3 5 4 4 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:536871559 0 0 0 415 0;} @font-face 	{font-family:"\@宋体"; 	panose-1:2 1 6 0 3 1 1 1 1 1; 	mso-font-charset:134; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:3 135135232 16 0 262145 0;} @font-face 	{font-family:"\@新宋体"; 	panose-1:2 1 6 9 3 1 1 1 1 1; 	mso-font-charset:134; 	mso-generic-font-family:modern; 	mso-font-pitch:fixed; 	mso-font-signature:3 135135232 16 0 262145 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin:0cm; 	margin-bottom:.0001pt; 	text-align:justify; 	text-justify:inter-ideograph; 	mso-pagination:none; 	font-size:10.5pt; 	mso-bidi-font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-fareast-font-family:宋体; 	mso-bidi-font-family:"Times New Roman"; 	mso-font-kerning:1.0pt;} h3 	{mso-style-noshow:yes; 	mso-style-priority:9; 	mso-style-qformat:yes; 	mso-style-link:"标题 3 Char"; 	mso-style-next:正文; 	margin-top:13.0pt; 	margin-right:0cm; 	margin-bottom:13.0pt; 	margin-left:0cm; 	text-align:justify; 	text-justify:inter-ideograph; 	line-height:173%; 	mso-pagination:lines-together; 	page-break-after:avoid; 	mso-outline-level:3; 	font-size:16.0pt; 	font-family:"Calibri","sans-serif"; 	mso-font-kerning:1.0pt;} a:link, span.MsoHyperlink 	{mso-style-priority:99; 	color:blue; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{mso-style-noshow:yes; 	mso-style-priority:99; 	color:purple; 	mso-themecolor:followedhyperlink; 	text-decoration:underline; 	text-underline:single;} span.3Char 	{mso-style-name:"标题 3 Char"; 	mso-style-noshow:yes; 	mso-style-priority:9; 	mso-style-unhide:no; 	mso-style-locked:yes; 	mso-style-link:"标题 3"; 	mso-ansi-font-size:16.0pt; 	mso-bidi-font-size:16.0pt; 	mso-font-kerning:1.0pt; 	font-weight:bold;} span.copycode 	{mso-style-name:copycode; 	mso-style-unhide:no; 	mso-ansi-font-size:12.0pt; 	mso-bidi-font-size:12.0pt; 	color:blue; 	mso-hide:none; 	font-weight:normal; 	text-decoration:underline; 	text-underline:single;} span.keyword 	{mso-style-name:keyword; 	mso-style-unhide:no; 	font-weight:bold;} span.cs 	{mso-style-name:cs; 	mso-style-unhide:no; 	display:none; 	mso-hide:all;} span.vb 	{mso-style-name:vb; 	mso-style-unhide:no; 	display:none; 	mso-hide:all;} span.cpp 	{mso-style-name:cpp; 	mso-style-unhide:no; 	display:none; 	mso-hide:all;} span.nu 	{mso-style-name:nu; 	mso-style-unhide:no; 	mso-hide:none;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-size:10.0pt; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt; 	mso-ascii-font-family:Calibri; 	mso-fareast-font-family:宋体; 	mso-hansi-font-family:Calibri; 	mso-font-kerning:0pt;}  /* Page Definitions */  @page 	{mso-page-border-surround-header:no; 	mso-page-border-surround-footer:no;} @page Section1 	{size:595.3pt 841.9pt; 	margin:72.0pt 90.0pt 72.0pt 90.0pt; 	mso-header-margin:42.55pt; 	mso-footer-margin:49.6pt; 	mso-paper-source:0; 	layout-grid:15.6pt;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:1027872304; 	mso-list-type:hybrid; 	mso-list-template-ids:-961642652 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l0:level1 	{mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:21.0pt; 	text-indent:-21.0pt;} @list l1 	{mso-list-id:1340884211; 	mso-list-type:hybrid; 	mso-list-template-ids:715715666 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l1:level1 	{mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:21.0pt; 	text-indent:-21.0pt;} @list l2 	{mso-list-id:2018772912; 	mso-list-template-ids:1147411788;} ol 	{margin-bottom:0cm;} ul 	{margin-bottom:0cm;} --> </style><!--[if gte mso 10]> <style>  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:普通表格; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif";} </style> <![endif]-->  <p class="MsoNormal" style="text-align: center;" align="center"><span style="font-family: 宋体;">操作自定义配置节</span><span lang="EN-US"><o:p></o:p></span></p>  <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 宋体;">摘要：在网站设计上，经常使用</span><span lang="EN-US">Web.Config</span><span style="font-family: 宋体;">文件解耦合。例如</span><span style="font-family: 宋体;">通过配置文件确定实例化哪个工厂，得到不同的数据访问层。这就需要一个灵活的操作配置文件的机制。鄙人在学习过程中，将知识记下。</span><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;" lang="EN-US"><o:p></o:p></span></p>  <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;" lang="EN-US"><o:p>&nbsp;</o:p></span></p>  <p class="MsoNormal" style="text-align: left;" align="left"><strong><span style="font-family: 宋体;">相关知识点：</span></strong><strong><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;" lang="EN-US"><o:p></o:p></span></strong></p>  <p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><!--[if !supportLists]--><strong><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; font-weight: normal;" lang="EN-US"><span>1.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><!--[endif]--><strong><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;" lang="EN-US">ConfigurationPropertyAttribute</span></strong><strong><span style="font-family: 宋体;">属性<strong><span style="font-family: 宋体;">类</span></strong></span></strong><strong><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; font-weight: normal;" lang="EN-US"><o:p></o:p></span></strong></p>  <p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体;">指示</span><span lang="EN-US"> .NET Framework </span><span style="font-family: 宋体; color: red;">如何实例化自定义配置元素属性的类型</span><span style="color: red;" lang="EN-US"><o:p></o:p></span></p>  <p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体;">您可以使用</span><span> <strong><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;" lang="EN-US">ConfigurationPropertyAttribute</span></strong><span lang="EN-US"> </span></span><span style="font-family: 宋体;">修饰配置属性，此配置属性将会指示</span><span lang="EN-US"> .NET Framework </span><span style="font-family: 宋体;">使用修饰参数的值对该属性进行实例化和初始化。</span><span lang="EN-US"><o:p></o:p></span></p>  <p class="MsoNormal" style="text-indent: 21pt;"><span style="font-family: 宋体;">创建自定义配置元素最简便的方法就是使用属性化（声明性）模型。您可以声明自定义公共属性</span><span lang="EN-US"> (Property)</span><span style="font-family: 宋体;">，并使用</span><span> <strong><span lang="EN-US">ConfigurationPropertyAttribute</span></strong><span lang="EN-US"> </span></span><span style="font-family: 宋体;">属性</span><span lang="EN-US"> (Attribute) </span><span style="font-family: 宋体;">来修饰它们。对于每一个标记有此属性</span><span lang="EN-US"> (Attribute) </span><span style="font-family: 宋体;">的属性</span><span lang="EN-US"> (Property)</span><span style="font-family: 宋体;">，</span><span lang="EN-US">.NET Framework </span><span style="font-family: 宋体;">都使用反射来读取修饰参数，并创建相关的</span><span> <span lang="EN-US"><a href="http://msdn.microsoft.com/en-us/library/system.configuration.configurationproperty%28zh-cn,VS.85%29.aspx" id="ctl00_MTContentSelector1_mainContentContainer_ctl28">ConfigurationProperty</a> </span></span><span style="font-family: 宋体;">实例。也可以使用编程模型，在这种情况下，<span style="color: red;">您将负责声明自定义的公共属性，并返回它们的集合</span>。</span><span lang="EN-US"><o:p></o:p></span></p>  <p class="MsoNormal"><span style="font-family: 宋体;">详细查看</span><span lang="EN-US">: <o:p></o:p></span></p>  <p class="MsoNormal"><span lang="EN-US"><a href="http://msdn.microsoft.com/en-us/library/system.configuration.configurationpropertyattribute%28zh-cn,VS.85%29.aspxhttp:/msdn.microsoft.com/en-us/library/system.configuration.configurationpropertyattribute%28zh-cn,VS.85%29.aspx">ConfigurationPropertyAttribute <span style="font-family: 宋体;" lang="EN-US"><span lang="EN-US">类</span></span></a><o:p></o:p></span></p>  <p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>  <p class="MsoNormal"><strong><span lang="EN-US"><o:p>&nbsp;</o:p></span></strong></p>  <p class="MsoNormal"><strong><span style="font-family: 宋体;">开始设计：</span></strong><strong><span lang="EN-US"><o:p></o:p></span></strong></p>  <p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><!--[if !supportLists]--><strong><span lang="EN-US"><span>1.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><!--[endif]--><strong><span style="font-family: 宋体;">添加自定配置块</span></strong><strong><span lang="EN-US"><o:p></o:p></span></strong></p>  <h3 style="margin-bottom: 3pt;"><span style="font-size: 10.5pt; line-height: 173%; font-family: 宋体; color: black;">向</span><span style="font-size: 10.5pt; line-height: 173%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"> ASP.NET </span><span style="font-size: 10.5pt; line-height: 173%; font-family: 宋体; color: black;">配置文件添加自定义节处理程序</span><span style="font-size: 10.5pt; line-height: 173%; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"><o:p></o:p></span></h3>  <p class="MsoNormal" style="margin: 1.5pt 0cm 1.5pt 21pt; text-align: left; text-indent: -18pt;" align="left"><!--[if !supportLists]--><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"><span>1.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp; </span></span></span><!--[endif]--><span style="font-family: 宋体; color: black;">将</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;"> <span lang="EN-US"><mshelp:link tabindex="0" keywords="45fbeb5c-26c7-4c68-b732-b3f1e62c53bf">sectionGroup</mshelp:link> </span></span><span style="font-family: 宋体; color: black;">元素和</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;"> <span lang="EN-US"><mshelp:link tabindex="0" keywords="51c9d658-c275-4ab2-aa66-c5d5b5289570">section</mshelp:link> </span></span><span style="font-family: 宋体; color: black;">元素添加到</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"> Web.config </span><span style="font-family: 宋体; color: black;">文件的</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;"> <span lang="EN-US"><mshelp:link tabindex="0" keywords="8a5cbc84-0257-4c2e-80a9-a064fe7c896b">configSections</mshelp:link> </span></span><span style="font-family: 宋体; color: black;">元素中，如下面的代码示例所示。正是此声明将自定义节处理程序与节名关联。</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"><o:p></o:p></span></p>  <table class="MsoNormalTable" style="width: 98.9%; margin-left: 21pt;" border="0" cellpadding="0" cellspacing="0" width="98%">  <tr>   <td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color #c8cdde; border-width: medium medium 1pt; padding: 0cm 3.75pt; background: #efeff7 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="margin: 3.75pt 0cm;"><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US"><!--[if gte vml 1]><v:shapetype    id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"    path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">    <v:stroke joinstyle="miter"/>    <v:formulas>     <v:f eqn="if lineDrawn pixelLineWidth 0"/>     <v:f eqn="sum @0 1 0"/>     <v:f eqn="sum 0 0 @1"/>     <v:f eqn="prod @2 1 2"/>     <v:f eqn="prod @3 21600 pixelWidth"/>     <v:f eqn="prod @3 21600 pixelHeight"/>     <v:f eqn="sum @0 0 1"/>     <v:f eqn="prod @6 1 2"/>     <v:f eqn="prod @7 21600 pixelWidth"/>     <v:f eqn="sum @8 21600 0"/>     <v:f eqn="prod @7 21600 pixelHeight"/>     <v:f eqn="sum @10 21600 0"/>    </v:formulas>    <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>    <o:lock v:ext="edit" aspectratio="t"/>   </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="注意" style='width:7.5pt;    height:7.5pt'>    <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1.TY-\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.gif"     o:href="ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vwdcon/icons/alert_note.gif"/>   </v:shape><![endif]--><!--[if !vml]--><img src="file:///C:/DOCUME%7E1/ADMINI%7E1.TY-/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image001.gif" alt="注意" class="note" v:shapes="_x0000_i1025" border="0" height="10" width="10" /><!--[endif]--></span></strong><strong><span style="font-family: 宋体; color: #000066;">注意：</span></strong><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US"><o:p></o:p></span></strong></p>   </td>  </tr>  <tr>   <td style="border-style: solid none; border-color: white -moz-use-text-color #d5d5d3; border-width: 1pt medium; padding: 0cm 3.75pt; background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="margin: 3.75pt 0cm 6pt;"><span style="font-family: 宋体; color: black;">将</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;"> <span class="keyword"><span lang="EN-US">section</span></span><span lang="EN-US"> </span></span><span style="font-family: 宋体; color: black;">元素嵌套在</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;"> <span class="keyword"><span lang="EN-US">sectionGroup</span></span><span lang="EN-US"> </span></span><span style="font-family: 宋体; color: black;">中是可选的，但是建议这样做，以便更好地组织配置数据。</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"><o:p></o:p></span></p>   </td>  </tr> </table>  <p class="MsoNormal" style="margin: 1.5pt 0cm 1.5pt 21pt; text-align: left; text-indent: -18pt;" align="left"><!--[if !supportLists]--><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"><span>2.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp; </span></span></span><!--[endif]--><span style="font-family: 宋体; color: black;">可以在另一个配置文件中添加节处理程序声明，该配置文件不必是添加自定义配置元素的配置文件，只要声明节处理程序的配置文件在配置文件的层次结构中位于较高的位置。有关更多信息，请参见</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;"> <span lang="EN-US"><a href="ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vwdcon/html/c282a0c3-0642-458b-8426-565ead922749.htm">ASP.NET <span style="font-family: 宋体;" lang="EN-US"><span lang="EN-US">配置文件层次结构和继承</span></span></a></span></span><span style="font-family: 宋体; color: black;">。</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"><o:p></o:p></span></p>  <p class="MsoNormal" style="margin: 1.5pt 0cm 1.5pt 21pt; text-align: left; text-indent: -18pt;" align="left"><!--[if !supportLists]--><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"><span>3.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp; </span></span></span><!--[endif]--><span class="keyword"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US">section</span></span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"> </span><span style="font-family: 宋体; color: black;">元素的</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;"> <span class="keyword"><span lang="EN-US">type</span></span><span lang="EN-US"> </span></span><span style="font-family: 宋体; color: black;">属性必须与程序集清单匹配，否则将出现配置错误。程序集文件必须与定义它的</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"> Web.config </span><span style="font-family: 宋体; color: black;">文件位于相同的</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"> ASP.NET </span><span style="font-family: 宋体; color: black;">应用程序目录。</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"><o:p></o:p></span></p>  <table class="MsoNormalTable" style="width: 98.9%; margin-left: 21pt;" border="0" cellpadding="0" cellspacing="0" width="98%">  <tr>   <td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color #c8cdde; border-width: medium medium 1pt; padding: 0cm 3.75pt; background: #efeff7 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="margin: 3.75pt 0cm;"><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US"><span codelanguage="other">&nbsp;</span></span></strong><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US"><o:p></o:p></span></strong></p>   </td>   <td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color #c8cdde; border-width: medium medium 1pt; padding: 0cm 3.75pt; background: #efeff7 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="margin: 3.75pt 0cm;"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: blue;" lang="EN-US"><span onkeypress="CopyCode_CheckKey(this, event)" onmouseover="ChangeCopyCodeIcon(this)" onclick="CopyCode(this)" tabindex="0" onmouseout="ChangeCopyCodeIcon(this)"><!--[if gte vml 1]><v:shape id="_x0000_i1026"    type="#_x0000_t75" alt="&#8220;复制&#8221;图像" style='width:11.25pt;height:11.25pt'>    <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1.TY-\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.gif"     o:href="ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vwdcon/icons/copycode.gif"/>   </v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><span class="copycode"><span style="font-family: 宋体;">复制代码</span></span></span><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US"><o:p></o:p></span></strong></p>   </td>  </tr>  <tr>   <td colspan="2" style="border-style: solid none; border-color: white -moz-use-text-color #d5d5d3; border-width: 1pt medium; padding: 3.75pt 3.75pt 0cm; background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US">&lt;configuration&gt;<o:p></o:p></span></p>   <p class="MsoNormal" style="background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US">&lt;!--   Configuration section-handler declaration area. --&gt;<o:p></o:p></span></p>   <p class="MsoNormal" style="background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US"><span>&nbsp; </span>&lt;configSections&gt;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US"><span>&nbsp;&nbsp; </span></span><span style="font-family: 新宋体; color: blue;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;</span>&lt;</span><span style="font-family: 新宋体; color: #a31515;" lang="EN-US">section</span><span style="font-family: 新宋体; color: blue;" lang="EN-US"> </span><span style="font-family: 新宋体; color: red;" lang="EN-US">name</span><span style="font-family: 新宋体; color: blue;" lang="EN-US">=</span><span style="font-family: 新宋体;" lang="EN-US">"<span style="color: blue;">MyCustomGroup</span>"<span style="color: blue;"> </span><span style="color: red;">allowDefinition</span><span style="color: blue;">=</span>"<span style="color: blue;">Everywhere</span>"<span style="color: blue;"> </span><span style="color: red;">allowExeDefinition</span><span style="color: blue;">=</span>"<span style="color: blue;">MachineToApplication</span>"<span style="color: blue;">   </span><span style="color: red;">restartOnExternalChanges</span><span style="color: blue;">=</span>"<span style="color: blue;">true</span>"<span style="color: blue;"> </span><span style="color: red;">type</span><span style="color: blue;">=</span>"<span style="color: blue;">Model.MyCustomGroupSection,Model</span>"<span style="color: blue;">/&gt;<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US"><span>&nbsp; </span>&lt;/configSections&gt;<o:p></o:p></span></p>   <p class="MsoNormal" style="background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US"><span>&nbsp; </span>&lt;!-- Configuration section settings   area. --&gt;<o:p></o:p></span></p>   <p class="MsoNormal" style="background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US">&lt;/configuration&gt;</span><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US"><o:p></o:p></span></p>   </td>  </tr>   </table>  <p class="MsoNormal" style="margin: 1.5pt 0cm 1.5pt 21pt; text-align: left; text-indent: -18pt;" align="left"><!--[if !supportLists]--><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"><span>4.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp; </span></span></span><!--[endif]--><span style="font-family: 宋体; color: black;">在</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"> Web.config </span><span style="font-family: 宋体; color: black;">文件的配置节设置区域中添加自定义配置元素。</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"><o:p></o:p></span></p>  <table class="MsoNormalTable" style="width: 98.9%; margin-left: 21pt;" border="0" cellpadding="0" cellspacing="0" width="98%">  <tr>   <td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color #c8cdde; border-width: medium medium 1pt; padding: 0cm 3.75pt; background: #efeff7 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="margin: 3.75pt 0cm;"><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US"><span codelanguage="other">&nbsp;</span></span></strong><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US"><o:p></o:p></span></strong></p>   </td>   <td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color #c8cdde; border-width: medium medium 1pt; padding: 0cm 3.75pt; background: #efeff7 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="margin: 3.75pt 0cm;"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: blue;" lang="EN-US"><span onkeypress="CopyCode_CheckKey(this, event)" onmouseover="ChangeCopyCodeIcon(this)" onclick="CopyCode(this)" tabindex="0" onmouseout="ChangeCopyCodeIcon(this)"><!--[if gte vml 1]><v:shape id="_x0000_i1027"    type="#_x0000_t75" alt="&#8220;复制&#8221;图像" style='width:11.25pt;height:11.25pt'>    <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1.TY-\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.gif"     o:href="ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vwdcon/icons/copycode.gif"/>   </v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><span class="copycode"><span style="font-family: 宋体;">复制代码</span></span></span><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US"><o:p></o:p></span></strong></p>   </td>  </tr>  <tr>   <td colspan="2" style="border-style: solid none; border-color: white -moz-use-text-color #d5d5d3; border-width: 1pt medium; padding: 3.75pt 3.75pt 0cm; background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US">&lt;configuration&gt;<o:p></o:p></span></p>   <p class="MsoNormal" style="background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US">&lt;!--   Configuration section-handler declaration area. --&gt;<o:p></o:p></span></p>   <p class="MsoNormal" style="background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US"><span>&nbsp; </span>&lt;!-- Configuration section settings   area. --&gt;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US"><span>&nbsp; </span></span><span style="font-family: 新宋体; color: blue;" lang="EN-US">&lt;</span><span style="font-family: 新宋体; color: #a31515;" lang="EN-US">MyCustomGroup</span><span style="font-family: 新宋体; color: blue;" lang="EN-US">&gt;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体; color: blue;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span>&lt;</span><span style="font-family: 新宋体; color: #a31515;" lang="EN-US">CustomCollection</span><span style="font-family: 新宋体; color: blue;" lang="EN-US">&gt;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体; color: blue;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span>&lt;</span><span style="font-family: 新宋体; color: #a31515;" lang="EN-US">Customer</span><span style="font-family: 新宋体; color: blue;" lang="EN-US"> </span><span style="font-family: 新宋体; color: red;" lang="EN-US">Name</span><span style="font-family: 新宋体; color: blue;" lang="EN-US">=</span><span style="font-family: 新宋体;" lang="EN-US">"<span style="color: blue;">gecko</span>"<span style="color: blue;"> </span><span style="color: red;">Age</span><span style="color: blue;">=</span>"<span style="color: blue;">18</span>"<span style="color: blue;">/&gt;<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体; color: blue;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span>&lt;</span><span style="font-family: 新宋体; color: #a31515;" lang="EN-US">Customer</span><span style="font-family: 新宋体; color: blue;" lang="EN-US"> </span><span style="font-family: 新宋体; color: red;" lang="EN-US">Name</span><span style="font-family: 新宋体; color: blue;" lang="EN-US">=</span><span style="font-family: 新宋体;" lang="EN-US">"<span style="color: blue;">geckos</span>"<span style="color: blue;"> </span><span style="color: red;">Age</span><span style="color: blue;">=</span>"<span style="color: blue;">18</span>"<span style="color: blue;">/&gt;<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体; color: blue;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   </span>&lt;/</span><span style="font-family: 新宋体; color: #a31515;" lang="EN-US">CustomCollection</span><span style="font-family: 新宋体; color: blue;" lang="EN-US">&gt;<o:p></o:p></span></p>   <p class="MsoNormal" style="background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-family: 新宋体; color: blue;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;   </span>&lt;/</span><span style="font-family: 新宋体; color: #a31515;" lang="EN-US">MyCustomGroup</span><span style="font-family: 新宋体; color: blue;" lang="EN-US">&gt;</span><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US"><o:p></o:p></span></p>   <p class="MsoNormal" style="background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US"><span>&nbsp; </span>&lt;!-- Other configuration settings, like   &lt;system.web&gt; --&gt;<o:p></o:p></span></p>   <p class="MsoNormal" style="background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US">&lt;/configuration&gt;</span><span style="font-family: &quot;Courier New&quot;; color: #000066;" lang="EN-US"><o:p></o:p></span></p>   </td>  </tr>   </table>  <p class="MsoNormal"><strong><span lang="EN-US"><o:p>&nbsp;</o:p></span></strong></p>  <p class="MsoNormal"><strong><span lang="EN-US"><o:p>&nbsp;</o:p></span></strong></p>  <p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><!--[if !supportLists]--><strong><span lang="EN-US"><span>2.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><!--[endif]--><strong><span style="font-family: 宋体; color: black;">创建自定义配置节处理程序</span></strong><strong><span lang="EN-US"><o:p></o:p></span></strong></p>  <p class="MsoNormal"><span style="font-family: 宋体; color: black;">创建一个继承</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;"> <span lang="EN-US"><mshelp:link tabindex="0" keywords="T:System.Configuration.ConfigurationSection">System.Configuration<span class="cs">.</span><span class="vb">.</span><span class="cpp">::</span><span class="nu">.</span>ConfigurationSection</mshelp:link> </span></span><span style="font-family: 宋体; color: black;">类的公共类，如下面的代码示例所示。</span><strong><span lang="EN-US"><o:p></o:p></span></strong></p>  <table class="MsoNormalTable" style="width: 98.9%; margin-left: 21pt;" border="0" cellpadding="0" cellspacing="0" width="98%">  <tr>   <td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color #c8cdde; border-width: medium medium 1pt; padding: 0cm 3.75pt; background: #efeff7 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="margin: 3.75pt 0cm;"><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US">&nbsp;</span></strong><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US"><o:p></o:p></span></strong></p>   </td>   <td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color #c8cdde; border-width: medium medium 1pt; padding: 0cm 3.75pt; background: #efeff7 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="margin: 3.75pt 0cm;"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: blue;" lang="EN-US"><span onkeypress="CopyCode_CheckKey(this, event)" onmouseover="ChangeCopyCodeIcon(this)" onclick="CopyCode(this)" tabindex="0" onmouseout="ChangeCopyCodeIcon(this)"><!--[if gte vml 1]><v:shape id="_x0000_i1028"    type="#_x0000_t75" alt="&#8220;复制&#8221;图像" style='width:11.25pt;height:11.25pt'>    <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1.TY-\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.gif"     o:href="ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vwdcon/icons/copycode.gif"/>   </v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><span class="copycode"><span style="font-family: 宋体;">复制代码</span></span></span><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US"><o:p></o:p></span></strong></p>   </td>  </tr>  <tr>   <td colspan="2" style="border-style: solid none; border-color: white -moz-use-text-color #d5d5d3; border-width: 1pt medium; padding: 3.75pt 3.75pt 0cm; background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体; color: blue;" lang="EN-US">namespace</span><span style="font-family: 新宋体;" lang="EN-US"> Model<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US">{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp; </span>[<span style="color: #2b91af;">Serializable</span>]<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">public</span> <span style="color: blue;">class</span> <span style="color: #2b91af;">MyCustomGroupSection</span> : <span style="color: #2b91af;">ConfigurationSection<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">private</span> <span style="color: blue;">const</span> <span style="color: blue;">string</span> MyCustomGroupSectionName = <span style="color: #a31515;">"MyCustomGroup"</span>;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">private</span> <span style="color: blue;">const</span> <span style="color: blue;">string</span> MyCunstiomCollection = <span style="color: #a31515;">"CustomCollection"</span>;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><o:p>&nbsp;</o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>[<span style="color: #2b91af;">ConfigurationProperty</span>(MyCunstiomCollection,   IsDefaultCollection = <span style="color: blue;">true</span>)]<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">public</span> <span style="color: #2b91af;">CustomCollection</span>   ListMyCustomCollection<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">get<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">return</span> (<span style="color: blue;">base</span>[MyCunstiomCollection]   <span style="color: blue;">as</span> <span style="color: #2b91af;">CustomCollection</span>);<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">public</span> <span style="color: blue;">static</span> <span style="color: #2b91af;">MyCustomGroupSection</span> value<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">get<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">return</span> (<span style="color: #2b91af;">ConfigurationManager</span>.GetSection(MyCustomGroupSectionName)   <span style="color: blue;">as</span> <span style="color: #2b91af;">MyCustomGroupSection</span>);<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US">}<span style="background: silver none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><o:p></o:p></span></span></p>   </td>  </tr> </table>  <p class="MsoNormal"><strong><span lang="EN-US"><o:p>&nbsp;</o:p></span></strong></p>    <p class="MsoNormal" style="margin: 0cm 0cm 1.5pt 14.25pt; text-align: left;" align="left"><span style="font-family: 宋体; color: black;">添加您自己的代码，以执行所需的配置工作。下面的代码从自定义节中获取值。</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"><o:p></o:p></span></p>  <p class="MsoNormal" style="margin: 0cm 0cm 1.5pt 14.25pt; text-align: left;" align="left"><span style="font-family: 宋体; color: black;">创建一个继承至</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US">System.Configuration<span class="cs">.</span><span class="vb">.</span><span class="cpp">::</span><span class="nu">.</span></span><span style="font-family: 新宋体; color: black;" lang="EN-US">ConfigurationElement</span><span style="font-family: 新宋体; color: black;">类的公共类<span lang="EN-US">.</span></span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"> </span><span style="font-family: 宋体; color: black;">如下面的代码示例所示。</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"><o:p></o:p></span></p>  <p class="MsoNormal" style="margin: 0cm 0cm 1.5pt 14.25pt; text-align: left;" align="left"><span style="font-family: 宋体; color: black;">这个类映射了</span><span style="font-family: 新宋体; color: #2b91af;" lang="EN-US">Customer</span><span style="font-family: 新宋体; color: #2b91af;">节</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"><o:p></o:p></span></p>  <table class="MsoNormalTable" style="width: 98.9%; margin-left: 21pt;" border="0" cellpadding="0" cellspacing="0" width="98%">  <tr>   <td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color #c8cdde; border-width: medium medium 1pt; padding: 0cm 3.75pt; background: #efeff7 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="margin: 3.75pt 0cm;"><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US">&nbsp;</span></strong><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US"><o:p></o:p></span></strong></p>   </td>   <td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color #c8cdde; border-width: medium medium 1pt; padding: 0cm 3.75pt; background: #efeff7 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="margin: 3.75pt 0cm;"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: blue;" lang="EN-US"><span onkeypress="CopyCode_CheckKey(this, event)" onmouseover="ChangeCopyCodeIcon(this)" onclick="CopyCode(this)" tabindex="0" onmouseout="ChangeCopyCodeIcon(this)"><!--[if gte vml 1]><v:shape id="_x0000_i1029"    type="#_x0000_t75" alt="&#8220;复制&#8221;图像" style='width:11.25pt;height:11.25pt'>    <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1.TY-\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.gif"     o:href="ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vwdcon/icons/copycode.gif"/>   </v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><span class="copycode"><span style="font-family: 宋体;">复制代码</span></span></span><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US"><o:p></o:p></span></strong></p>   </td>  </tr>  <tr>   <td colspan="2" style="border-style: solid none; border-color: white -moz-use-text-color #d5d5d3; border-width: 1pt medium; padding: 3.75pt 3.75pt 0cm; background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体; color: blue;" lang="EN-US">using</span><span style="font-family: 新宋体;" lang="EN-US"> System;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体; color: blue;" lang="EN-US">using</span><span style="font-family: 新宋体;" lang="EN-US"> System.Configuration;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><o:p>&nbsp;</o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体; color: blue;" lang="EN-US">namespace</span><span style="font-family: 新宋体;" lang="EN-US"> Model<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US">{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp; </span>[<span style="color: #2b91af;">Serializable</span>]<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">public</span> <span style="color: blue;">class</span> <span style="color: #2b91af;">Customer</span> : <span style="color: #2b91af;">ConfigurationElement<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: green;">//Fields<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">private</span> <span style="color: blue;">const</span> <span style="color: blue;">string</span> NameProperty = <span style="color: #a31515;">"Name"</span>;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">private</span> <span style="color: blue;">const</span> <span style="color: blue;">string</span> AgeProperty = <span style="color: #a31515;">"Age"</span>;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: green;">//Properties<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>[<span style="color: #2b91af;">ConfigurationProperty</span>(NameProperty,IsRequired=<span style="color: blue;">true</span>)]<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">public</span> <span style="color: blue;">string</span> Name<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">get<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">return</span> (<span style="color: blue;">string</span>)<span style="color: blue;">base</span>[NameProperty];<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">set<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">base</span>[NameProperty] = <span style="color: blue;">value</span>;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><o:p>&nbsp;</o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>[<span style="color: #2b91af;">ConfigurationProperty</span>(AgeProperty,IsKey=<span style="color: blue;">false</span>)]<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">public</span> <span style="color: blue;">int</span> Age<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">get<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">return</span> (<span style="color: blue;">int</span>)<span style="color: blue;">base</span>[AgeProperty];<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">set<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">base</span>[AgeProperty] = <span style="color: blue;">value</span>;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US">}<span style="background: silver none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><o:p></o:p></span></span></p>   </td>  </tr> </table>  <p class="MsoNormal"><strong><span lang="EN-US"><o:p>&nbsp;</o:p></span></strong></p>    <p class="MsoNormal"><strong><span lang="EN-US"><o:p>&nbsp;</o:p></span></strong></p>  <p class="MsoNormal" style="margin: 1.5pt 0cm; text-align: left;" align="left"><span style="font-family: 宋体; color: black;">创建一个继承至</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US">System.Configuration<span class="cs">.</span><span class="vb">.</span><span class="cpp">::</span><span class="nu">.</span></span><span style="font-family: 新宋体; color: #2b91af;" lang="EN-US">ConfigurationElementCollection</span><span style="font-family: 新宋体; color: black;">类的公共类<span lang="EN-US">.</span></span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"> </span><span style="font-family: 宋体; color: black;">如下面的代码示例所示。</span><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: black;" lang="EN-US"><o:p></o:p></span></p>  <p class="MsoNormal"><span style="font-family: 宋体; color: black;">这个类映射了</span><span style="font-family: 新宋体; color: #a31515;" lang="EN-US">CustomCollection</span><span style="font-family: 新宋体; color: #2b91af;">节集合<span lang="EN-US">.<o:p></o:p></span></span></p>  <table class="MsoNormalTable" style="width: 98.9%; margin-left: 21pt;" border="0" cellpadding="0" cellspacing="0" width="98%">  <tr>   <td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color #c8cdde; border-width: medium medium 1pt; padding: 0cm 3.75pt; background: #efeff7 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="margin: 3.75pt 0cm;"><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US">&nbsp;</span></strong><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US"><o:p></o:p></span></strong></p>   </td>   <td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color #c8cdde; border-width: medium medium 1pt; padding: 0cm 3.75pt; background: #efeff7 none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="margin: 3.75pt 0cm;"><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: blue;" lang="EN-US"><span onkeypress="CopyCode_CheckKey(this, event)" onmouseover="ChangeCopyCodeIcon(this)" onclick="CopyCode(this)" tabindex="0" onmouseout="ChangeCopyCodeIcon(this)"><!--[if gte vml 1]><v:shape id="_x0000_i1030"    type="#_x0000_t75" alt="&#8220;复制&#8221;图像" style='width:11.25pt;height:11.25pt'>    <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1.TY-\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.gif"     o:href="ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vwdcon/icons/copycode.gif"/>   </v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><span class="copycode"><span style="font-family: 宋体;">复制代码</span></span></span><strong><span style="font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; color: #000066;" lang="EN-US"><o:p></o:p></span></strong></p>   </td>  </tr>  <tr>   <td colspan="2" style="border-style: solid none; border-color: white -moz-use-text-color #d5d5d3; border-width: 1pt medium; padding: 3.75pt 3.75pt 0cm; background: #f7f7ff none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top">   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体; color: blue;" lang="EN-US">using</span><span style="font-family: 新宋体;" lang="EN-US"> System.Configuration;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体; color: blue;" lang="EN-US">namespace</span><span style="font-family: 新宋体;" lang="EN-US"> Model<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US">{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">public</span> <span style="color: blue;">class</span> <span style="color: #2b91af;">CustomCollection</span> : <span style="color: #2b91af;">ConfigurationElementCollection<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: green;">//Methods<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">protected</span> <span style="color: blue;">override</span> <span style="color: #2b91af;">ConfigurationElement</span> CreateNewElement()<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">return</span> <span style="color: blue;">new</span> <span style="color: #2b91af;">Customer</span>();<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><o:p>&nbsp;</o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">protected</span> <span style="color: blue;">override</span> <span style="color: blue;">object</span> GetElementKey(<span style="color: #2b91af;">ConfigurationElement</span>   element)<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af;">Customer</span> entity = element <span style="color: blue;">as</span> <span style="color: #2b91af;">Customer</span>;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp; </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: blue;">return</span>   entity.Name;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: green;">// Properties<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">public</span> <span style="color: blue;">override</span> <span style="color: #2b91af;">ConfigurationElementCollectionType</span>   CollectionType<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">get<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">return</span> <span style="color: #2b91af;">ConfigurationElementCollectionType</span>.BasicMap;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">protected</span> <span style="color: blue;">override</span> <span style="color: blue;">string</span> ElementName<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">get<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">return</span> <span style="color: #a31515;">"Customer"</span>;<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">public</span> <span style="color: #2b91af;">Customer</span> <span style="color: blue;">this</span>[<span style="color: blue;">string</span> name]<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">get</span> <o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">return</span> (<span style="color: blue;">base</span>.BaseGet(name)   <span style="color: blue;">as</span> <span style="color: #2b91af;">Customer</span>);<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">public</span> <span style="color: #2b91af;">Customer</span> <span style="color: blue;">this</span>[<span style="color: blue;">int</span> index]<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">get<o:p></o:p></span></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue;">return</span> (<span style="color: blue;">base</span>.BaseGet(index)   <span style="color: blue;">as</span> <span style="color: #2b91af;">Customer</span>);<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US"><span>&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>   <p class="MsoNormal" style="text-align: left;" align="left"><span style="font-family: 新宋体;" lang="EN-US">}<span style="background: silver none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><o:p></o:p></span></span></p>   </td>  </tr> </table>  <p class="MsoNormal"><strong><span lang="EN-US"><o:p>&nbsp;</o:p></span></strong></p>    <p class="MsoNormal"><strong><span lang="EN-US"><o:p>&nbsp;</o:p></span></strong></p>  <p class="MsoNormal"><span style="font-family: 宋体;">至此</span><span lang="EN-US">,</span><span style="font-family: 宋体;">我们便可以用</span><span lang="EN-US"><o:p></o:p></span></p>  <p class="MsoNormal"><strong><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></strong><span style="background: silver none repeat scroll 0% 0%; font-family: 新宋体; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">Model.<span style="color: #2b91af;">MyCustomGroupSection</span>.value.ListMyCustomCollection</span><span style="font-family: 新宋体;" lang="EN-US">[name].properties<o:p></o:p></span></p>  <p class="MsoNormal"><span style="font-family: 新宋体;">的方式操作配置节内容了<span lang="EN-US">.</span></span><strong><span lang="EN-US"><o:p></o:p></span></strong></p><img src="aggbug/1520639.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/gecko/archive/2009/07/10/gecko.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/gecko/archive/2009/07/10/gecko.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56859/" target="_blank">美调查公司称苹果iPad配件成本最低219美元</a><span style="color:gray">(2010-02-10 17:20)</span><br/>· <a href="http://news.cnblogs.com/n/56858/" target="_blank">摩尔庄园：儿童生意密码</a><span style="color:gray">(2010-02-10 17:15)</span><br/>· <a href="http://news.cnblogs.com/n/56857/" target="_blank">Facebook与美国在线合作 整合AIM动态功能</a><span style="color:gray">(2010-02-10 16:41)</span><br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>C# 排序</title><link>http://www.cnblogs.com/linsongbin/archive/2009/06/21/1507647.html</link><dc:creator>林松斌</dc:creator><author>林松斌</author><pubDate>Sun, 21 Jun 2009 02:49:00 GMT</pubDate><guid>http://www.cnblogs.com/linsongbin/archive/2009/06/21/1507647.html</guid><description><![CDATA[<p>阅读: 190 评论: 2 作者: <a href="" target="_blank">林松斌</a> 发表于 2009-06-21 10:49 <a href="http://www.cnblogs.com/linsongbin/archive/2009/06/21/1507647.html" target="_blank">原文链接</a></p><div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;&nbsp;1</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System;<br /></span><span style="color: #008080">&nbsp;&nbsp;2</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="color: #008080">&nbsp;&nbsp;3</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;算法<br /></span><span style="color: #008080">&nbsp;&nbsp;4</span><span style="color: #000000"><img id="Codehighlighter1_28_5430_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_28_5430_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_28_5430_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_28_5430_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_28_5430_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_28_5430_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_28_5430_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_28_5430_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"></span><span id="Codehighlighter1_28_5430_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_5430_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;&nbsp;5</span><span style="color: #000000"><img id="Codehighlighter1_34_78_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_34_78_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_34_78_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_34_78_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_34_78_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_34_78_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_34_78_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_34_78_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_34_78_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_34_78_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;&nbsp;6</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;排序<br /></span><span style="color: #008080">&nbsp;&nbsp;7</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&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: #808080"></span></span><br /><span style="color: #008080">&nbsp;&nbsp;8</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><span style="color: #000000">&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">class</span><span style="color: #000000">&nbsp;Sort<br /></span><span style="color: #008080">&nbsp;&nbsp;9</span><span style="color: #000000"><img id="Codehighlighter1_111_5428_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_111_5428_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_111_5428_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_111_5428_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_111_5428_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_111_5428_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_111_5428_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_111_5428_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_111_5428_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_111_5428_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;10</span><span style="color: #000000"><img id="Codehighlighter1_121_763_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_121_763_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_121_763_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_121_763_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"><img id="Codehighlighter1_121_763_Open_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_121_763_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_121_763_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_121_763_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_121_763_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">====&nbsp;选择排序&nbsp;====</span><span id="Codehighlighter1_121_763_Open_Text" style="display: none"><span style="color: #0000ff">#region</span><span style="color: #000000">&nbsp;====&nbsp;选择排序&nbsp;====</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;11</span><span style="color: #000000"><img id="Codehighlighter1_152_246_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_152_246_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_152_246_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_152_246_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_152_246_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_152_246_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_152_246_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_152_246_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_152_246_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_152_246_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;12</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;选择排序<br /></span><span style="color: #008080">&nbsp;13</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&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;14</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&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="list"&gt;&lt;/param&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">&nbsp;15</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><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">&nbsp;SelectSort(</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;list)<br /></span><span style="color: #008080">&nbsp;16</span><span style="color: #000000"><img id="Codehighlighter1_304_744_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_304_744_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_304_744_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_304_744_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_304_744_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_304_744_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_304_744_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_304_744_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_304_744_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_304_744_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;list.Length;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br /></span><span style="color: #008080">&nbsp;18</span><span style="color: #000000"><img id="Codehighlighter1_368_734_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_368_734_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_368_734_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_368_734_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_368_734_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_368_734_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_368_734_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_368_734_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_368_734_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_368_734_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;min&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;i;<br /></span><span style="color: #008080">&nbsp;20</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;&nbsp;j&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;list.Length;&nbsp;j</span><span style="color: #000000">++</span><span style="color: #000000">)<br /></span><span style="color: #008080">&nbsp;21</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(list[j]&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;list[min])<br /></span><span style="color: #008080">&nbsp;22</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;j;<br /></span><span style="color: #008080">&nbsp;23</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">&nbsp;24</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(min&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;i)<br /></span><span style="color: #008080">&nbsp;25</span><span style="color: #000000"><img id="Codehighlighter1_582_720_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_582_720_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_582_720_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_582_720_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_582_720_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_582_720_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_582_720_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_582_720_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_582_720_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_582_720_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;26</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;temp&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[min];<br /></span><span style="color: #008080">&nbsp;27</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list[min]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[i];<br /></span><span style="color: #008080">&nbsp;28</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list[i]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;temp;<br /></span><span style="color: #008080">&nbsp;29</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;30</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;31</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;32</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">#endregion</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;33</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">&nbsp;34</span><span style="color: #000000"><img id="Codehighlighter1_773_1388_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_773_1388_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_773_1388_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_773_1388_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"><img id="Codehighlighter1_773_1388_Open_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_773_1388_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_773_1388_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_773_1388_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_773_1388_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">====&nbsp;冒泡排序&nbsp;====</span><span id="Codehighlighter1_773_1388_Open_Text" style="display: none"><span style="color: #0000ff">#region</span><span style="color: #000000">&nbsp;====&nbsp;冒泡排序&nbsp;====</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;35</span><span style="color: #000000"><img id="Codehighlighter1_804_898_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_804_898_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_804_898_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_804_898_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_804_898_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_804_898_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_804_898_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_804_898_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_804_898_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_804_898_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;36</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;冒泡排序<br /></span><span style="color: #008080">&nbsp;37</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&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;38</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&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="list"&gt;&lt;/param&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">&nbsp;39</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><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">&nbsp;BubbleSort(</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;list)<br /></span><span style="color: #008080">&nbsp;40</span><span style="color: #000000"><img id="Codehighlighter1_956_1369_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_956_1369_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_956_1369_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_956_1369_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_956_1369_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_956_1369_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_956_1369_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_956_1369_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_956_1369_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_956_1369_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;41</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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;list.Length;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br /></span><span style="color: #008080">&nbsp;42</span><span style="color: #000000"><img id="Codehighlighter1_1020_1359_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1020_1359_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1020_1359_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1020_1359_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_1020_1359_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1020_1359_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1020_1359_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1020_1359_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1020_1359_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_1020_1359_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;43</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;&nbsp;j&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;list.Length&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;&nbsp;j</span><span style="color: #000000">++</span><span style="color: #000000">)<br /></span><span style="color: #008080">&nbsp;44</span><span style="color: #000000"><img id="Codehighlighter1_1100_1345_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1100_1345_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1100_1345_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1100_1345_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_1100_1345_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1100_1345_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1100_1345_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1100_1345_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1100_1345_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_1100_1345_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;45</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(list[j]&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;list[j&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">])<br /></span><span style="color: #008080">&nbsp;46</span><span style="color: #000000"><img id="Codehighlighter1_1169_1327_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1169_1327_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1169_1327_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1169_1327_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_1169_1327_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1169_1327_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1169_1327_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1169_1327_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1169_1327_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_1169_1327_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;47</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;temp&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[j];<br /></span><span style="color: #008080">&nbsp;48</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list[j]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[j&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">];<br /></span><span style="color: #008080">&nbsp;49</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list[j&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;temp;<br /></span><span style="color: #008080">&nbsp;50</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;51</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;52</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;53</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;54</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">#endregion</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;55</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">&nbsp;56</span><span style="color: #000000"><img id="Codehighlighter1_1398_2740_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1398_2740_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1398_2740_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1398_2740_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"><img id="Codehighlighter1_1398_2740_Open_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1398_2740_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1398_2740_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1398_2740_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1398_2740_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">====&nbsp;插入排序&nbsp;====</span><span id="Codehighlighter1_1398_2740_Open_Text" style="display: none"><span style="color: #0000ff">#region</span><span style="color: #000000">&nbsp;====&nbsp;插入排序&nbsp;====</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;57</span><span style="color: #000000"><img id="Codehighlighter1_1429_1525_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1429_1525_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1429_1525_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1429_1525_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_1429_1525_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1429_1525_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1429_1525_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1429_1525_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1429_1525_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_1429_1525_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;58</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;直接插入排序<br /></span><span style="color: #008080">&nbsp;59</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&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;60</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&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="list"&gt;&lt;/param&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">&nbsp;61</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><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">&nbsp;InsertSort(</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;list)<br /></span><span style="color: #008080">&nbsp;62</span><span style="color: #000000"><img id="Codehighlighter1_1583_1928_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1583_1928_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1583_1928_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1583_1928_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_1583_1928_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1583_1928_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1583_1928_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1583_1928_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1583_1928_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_1583_1928_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;63</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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;list.Length;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br /></span><span style="color: #008080">&nbsp;64</span><span style="color: #000000"><img id="Codehighlighter1_1647_1918_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1647_1918_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1647_1918_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1647_1918_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_1647_1918_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1647_1918_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1647_1918_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1647_1918_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1647_1918_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_1647_1918_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;65</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;temp&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[i];<br /></span><span style="color: #008080">&nbsp;66</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;<br /></span><span style="color: #008080">&nbsp;67</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(j&nbsp;</span><span style="color: #000000">&gt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;list[j]&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;temp)<br /></span><span style="color: #008080">&nbsp;68</span><span style="color: #000000"><img id="Codehighlighter1_1781_1868_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1781_1868_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1781_1868_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1781_1868_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_1781_1868_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1781_1868_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1781_1868_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1781_1868_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1781_1868_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_1781_1868_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;69</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list[j&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[j];<br /></span><span style="color: #008080">&nbsp;70</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j</span><span style="color: #000000">--</span><span style="color: #000000">;<br /></span><span style="color: #008080">&nbsp;71</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;72</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list[j&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;temp;<br /></span><span style="color: #008080">&nbsp;73</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;74</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;75</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">&nbsp;76</span><span style="color: #000000"><img id="Codehighlighter1_1938_2034_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1938_2034_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1938_2034_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1938_2034_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_1938_2034_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1938_2034_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1938_2034_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1938_2034_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1938_2034_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_1938_2034_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;77</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;折半插入排序<br /></span><span style="color: #008080">&nbsp;78</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&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;79</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&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="list"&gt;&lt;/param&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">&nbsp;80</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><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">&nbsp;BinarySort(</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;list)<br /></span><span style="color: #008080">&nbsp;81</span><span style="color: #000000"><img id="Codehighlighter1_2092_2721_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2092_2721_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2092_2721_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2092_2721_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_2092_2721_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2092_2721_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2092_2721_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2092_2721_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_2092_2721_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_2092_2721_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;82</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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;list.Length;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br /></span><span style="color: #008080">&nbsp;83</span><span style="color: #000000"><img id="Codehighlighter1_2156_2711_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2156_2711_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2156_2711_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2156_2711_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_2156_2711_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2156_2711_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2156_2711_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2156_2711_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_2156_2711_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_2156_2711_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;84</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;low&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;<br /></span><span style="color: #008080">&nbsp;85</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;high&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;<br /></span><span style="color: #008080">&nbsp;86</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;temp&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[i];<br /></span><span style="color: #008080">&nbsp;87</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">&nbsp;88</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">查找</span><span style="color: #008000"><br /></span><span style="color: #008080">&nbsp;89</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(low&nbsp;</span><span style="color: #000000">&lt;=</span><span style="color: #000000">&nbsp;high)<br /></span><span style="color: #008080">&nbsp;90</span><span style="color: #000000"><img id="Codehighlighter1_2331_2545_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2331_2545_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2331_2545_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2331_2545_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_2331_2545_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2331_2545_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2331_2545_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2331_2545_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_2331_2545_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_2331_2545_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;91</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;mid&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(low&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;high)&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">2</span><span style="color: #000000">;<br /></span><span style="color: #008080">&nbsp;92</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">&nbsp;93</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(temp&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;list[mid])<br /></span><span style="color: #008080">&nbsp;94</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;high&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;mid&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;<br /></span><span style="color: #008080">&nbsp;95</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;96</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;low&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;mid&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;<br /></span><span style="color: #008080">&nbsp;97</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;98</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">&nbsp;99</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">向后移</span><span style="color: #008000"><br /></span><span style="color: #008080">100</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;&nbsp;j&nbsp;</span><span style="color: #000000">&gt;=</span><span style="color: #000000">&nbsp;low;&nbsp;j</span><span style="color: #000000">--</span><span style="color: #000000">)<br /></span><span style="color: #008080">101</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list[j&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[j];<br /></span><span style="color: #008080">102</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">103</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list[low]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;temp;<br /></span><span style="color: #008080">104</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">105</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">106</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">#endregion</span></span><span style="color: #000000"><br /></span><span style="color: #008080">107</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">108</span><span style="color: #000000"><img id="Codehighlighter1_2750_3983_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2750_3983_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2750_3983_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2750_3983_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"><img id="Codehighlighter1_2750_3983_Open_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2750_3983_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2750_3983_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2750_3983_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_2750_3983_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">====&nbsp;快速排序&nbsp;====</span><span id="Codehighlighter1_2750_3983_Open_Text" style="display: none"><span style="color: #0000ff">#region</span><span style="color: #000000">&nbsp;====&nbsp;快速排序&nbsp;====</span><span style="color: #000000"><br /></span><span style="color: #008080">109</span><span style="color: #000000"><img id="Codehighlighter1_2781_3011_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2781_3011_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2781_3011_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2781_3011_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_2781_3011_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2781_3011_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2781_3011_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2781_3011_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_2781_3011_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_2781_3011_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">110</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;快排&nbsp;一次划分<br /></span><span style="color: #008080">111</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&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">112</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&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="list"&gt;</span><span style="color: #008000">划分的数组</span><span style="color: #808080">&lt;/param&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">113</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&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="i"&gt;</span><span style="color: #008000">数组低端上标</span><span style="color: #808080">&lt;/param&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">114</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&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="j"&gt;</span><span style="color: #008000">数组高端下标</span><span style="color: #808080">&lt;/param&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">115</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&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;returns&gt;</span><span style="color: #008000">返回划分后基准的位置</span><span style="color: #808080">&lt;/returns&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">116</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;Partition(</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;list,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j)<br /></span><span style="color: #008080">117</span><span style="color: #000000"><img id="Codehighlighter1_3082_3564_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3082_3564_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_3082_3564_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_3082_3564_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_3082_3564_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3082_3564_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_3082_3564_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_3082_3564_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_3082_3564_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_3082_3564_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">118</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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;key&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[i];<br /></span><span style="color: #008080">119</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">120</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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;j)<br /></span><span style="color: #008080">121</span><span style="color: #000000"><img id="Codehighlighter1_3154_3504_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3154_3504_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_3154_3504_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_3154_3504_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_3154_3504_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3154_3504_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_3154_3504_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_3154_3504_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_3154_3504_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_3154_3504_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">122</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">j&nbsp;向左扫描</span><span style="color: #008000"><br /></span><span style="color: #008080">123</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(list[j]&nbsp;</span><span style="color: #000000">&gt;=</span><span style="color: #000000">&nbsp;key&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;j)<br /></span><span style="color: #008080">124</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j</span><span style="color: #000000">--</span><span style="color: #000000">;<br /></span><span style="color: #008080">125</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">126</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;j)<br /></span><span style="color: #008080">127</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list[i</span><span style="color: #000000">++</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[j];<br /></span><span style="color: #008080">128</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">129</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">i&nbsp;向右扫描</span><span style="color: #008000"><br /></span><span style="color: #008080">130</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(list[i]&nbsp;</span><span style="color: #000000">&lt;=</span><span style="color: #000000">&nbsp;key&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;j)<br /></span><span style="color: #008080">131</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">;<br /></span><span style="color: #008080">132</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">133</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;j)<br /></span><span style="color: #008080">134</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list[j</span><span style="color: #000000">--</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[i];<br /></span><span style="color: #008080">135</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">136</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">137</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;&nbsp;&nbsp;&nbsp;&nbsp;list[i]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;key;<br /></span><span style="color: #008080">138</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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;i;<br /></span><span style="color: #008080">139</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">140</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">141</span><span style="color: #000000"><img id="Codehighlighter1_3574_3668_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3574_3668_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_3574_3668_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_3574_3668_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_3574_3668_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3574_3668_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_3574_3668_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_3574_3668_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_3574_3668_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_3574_3668_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">142</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;快速排序<br /></span><span style="color: #008080">143</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&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">144</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&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="list"&gt;&lt;/param&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">145</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><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">&nbsp;QuickSort(</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;list,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;low,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;high)<br /></span><span style="color: #008080">146</span><span style="color: #000000"><img id="Codehighlighter1_3744_3964_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3744_3964_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_3744_3964_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_3744_3964_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_3744_3964_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3744_3964_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_3744_3964_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_3744_3964_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_3744_3964_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_3744_3964_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">147</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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(low&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;high&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">)<br /></span><span style="color: #008080">148</span><span style="color: #000000"><img id="Codehighlighter1_3790_3954_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3790_3954_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_3790_3954_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_3790_3954_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_3790_3954_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3790_3954_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_3790_3954_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_3790_3954_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_3790_3954_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_3790_3954_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">149</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;key&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Partition(list,&nbsp;low,&nbsp;high);<br /></span><span style="color: #008080">150</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;QuickSort(list,&nbsp;low,&nbsp;key&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">);<br /></span><span style="color: #008080">151</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;QuickSort(list,&nbsp;key&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">,&nbsp;high);<br /></span><span style="color: #008080">152</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">153</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">154</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">#endregion</span></span><span style="color: #000000"><br /></span><span style="color: #008080">155</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">156</span><span style="color: #000000"><img id="Codehighlighter1_3993_5422_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3993_5422_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_3993_5422_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_3993_5422_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"><img id="Codehighlighter1_3993_5422_Open_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3993_5422_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_3993_5422_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_3993_5422_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_3993_5422_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">====&nbsp;堆排序&nbsp;====</span><span id="Codehighlighter1_3993_5422_Open_Text" style="display: none"><span style="color: #0000ff">#region</span><span style="color: #000000">&nbsp;====&nbsp;堆排序&nbsp;====</span><span style="color: #000000"><br /></span><span style="color: #008080">157</span><span style="color: #000000"><img id="Codehighlighter1_4023_4194_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4023_4194_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_4023_4194_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_4023_4194_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_4023_4194_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4023_4194_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_4023_4194_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_4023_4194_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_4023_4194_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_4023_4194_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">158</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;堆排&nbsp;调整成堆<br /></span><span style="color: #008080">159</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&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">160</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&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="list"&gt;&lt;/param&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">161</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&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="i"&gt;&lt;/param&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">162</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&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="m"&gt;&lt;/param&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">163</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</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">&nbsp;Adjust(</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;list,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;m)<br /></span><span style="color: #008080">164</span><span style="color: #000000"><img id="Codehighlighter1_4263_4846_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4263_4846_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_4263_4846_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_4263_4846_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_4263_4846_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4263_4846_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_4263_4846_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_4263_4846_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_4263_4846_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_4263_4846_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">165</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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;temp&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[i];<br /></span><span style="color: #008080">166</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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">2</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;<br /></span><span style="color: #008080">167</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">168</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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(j&nbsp;</span><span style="color: #000000">&lt;=</span><span style="color: #000000">&nbsp;m)<br /></span><span style="color: #008080">169</span><span style="color: #000000"><img id="Codehighlighter1_4368_4807_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4368_4807_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_4368_4807_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_4368_4807_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_4368_4807_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4368_4807_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_4368_4807_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_4368_4807_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_4368_4807_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_4368_4807_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">170</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">比较左右孩子</span><span style="color: #008000"><br /></span><span style="color: #008080">171</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(j&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;m)<br /></span><span style="color: #008080">172</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(list[j]&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;list[j&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">])<br /></span><span style="color: #008080">173</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;j&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;<br /></span><span style="color: #008080">174</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">175</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">比较根结点和大孩子</span><span style="color: #008000"><br /></span><span style="color: #008080">176</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(temp&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;list[j])<br /></span><span style="color: #008080">177</span><span style="color: #000000"><img id="Codehighlighter1_4585_4705_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4585_4705_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_4585_4705_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_4585_4705_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_4585_4705_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4585_4705_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_4585_4705_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_4585_4705_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_4585_4705_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_4585_4705_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">178</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list[i]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[j];<br /></span><span style="color: #008080">179</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;j;<br /></span><span style="color: #008080">180</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">2</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;<br /></span><span style="color: #008080">181</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">182</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br /></span><span style="color: #008080">183</span><span style="color: #000000"><img id="Codehighlighter1_4743_4793_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4743_4793_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_4743_4793_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_4743_4793_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_4743_4793_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4743_4793_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_4743_4793_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_4743_4793_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_4743_4793_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_4743_4793_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">184</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;m&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;<br /></span><span style="color: #008080">185</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">186</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">187</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">188</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;&nbsp;&nbsp;&nbsp;&nbsp;list[i]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;temp;<br /></span><span style="color: #008080">189</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">190</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">191</span><span style="color: #000000"><img id="Codehighlighter1_4856_4949_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4856_4949_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_4856_4949_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_4856_4949_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_4856_4949_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4856_4949_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_4856_4949_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_4856_4949_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_4856_4949_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_4856_4949_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">192</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;堆排序<br /></span><span style="color: #008080">193</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&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">194</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&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="list"&gt;&lt;/param&gt;</span><span style="color: #808080"></span></span><br /><span style="color: #008080">195</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><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">&nbsp;HeapSort(</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;list)<br /></span><span style="color: #008080">196</span><span style="color: #000000"><img id="Codehighlighter1_5005_5403_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_5005_5403_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_5005_5403_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_5005_5403_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_5005_5403_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_5005_5403_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_5005_5403_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_5005_5403_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_5005_5403_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_5005_5403_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">197</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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">建立初始堆</span><span style="color: #008000"><br /></span><span style="color: #008080">198</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(list.Length&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">2</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&gt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;&nbsp;i</span><span style="color: #000000">--</span><span style="color: #000000">)<br /></span><span style="color: #008080">199</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adjust(list,&nbsp;i,&nbsp;list.Length&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">);<br /></span><span style="color: #008080">200</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /></span><span style="color: #008080">201</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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">交换根结点和堆的最后一个结点</span><span style="color: #008000"><br /></span><span style="color: #008080">202</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list.Length&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&gt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;&nbsp;i</span><span style="color: #000000">--</span><span style="color: #000000">)<br /></span><span style="color: #008080">203</span><span style="color: #000000"><img id="Codehighlighter1_5235_5393_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_5235_5393_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_5235_5393_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_5235_5393_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_5235_5393_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_5235_5393_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_5235_5393_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_5235_5393_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_5235_5393_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_5235_5393_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">204</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;temp&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[</span><span style="color: #800080">0</span><span style="color: #000000">];<br /></span><span style="color: #008080">205</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list[</span><span style="color: #800080">0</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;list[i];<br /></span><span style="color: #008080">206</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list[i]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;temp;<br /></span><span style="color: #008080">207</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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adjust(list,&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">,&nbsp;i&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">);<br /></span><span style="color: #008080">208</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">209</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">210</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">#endregion</span></span><span style="color: #000000"><br /></span><span style="color: #008080">211</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">212</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
<p>&nbsp;</p><img src="aggbug/1507647.html?type=0" width="1" height="1" alt=""/><p>评论: 2　<a href="http://www.cnblogs.com/linsongbin/archive/2009/06/21/1507647.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/linsongbin/archive/2009/06/21/1507647.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56859/" target="_blank">美调查公司称苹果iPad配件成本最低219美元</a><span style="color:gray">(2010-02-10 17:20)</span><br/>· <a href="http://news.cnblogs.com/n/56858/" target="_blank">摩尔庄园：儿童生意密码</a><span style="color:gray">(2010-02-10 17:15)</span><br/>· <a href="http://news.cnblogs.com/n/56857/" target="_blank">Facebook与美国在线合作 整合AIM动态功能</a><span style="color:gray">(2010-02-10 16:41)</span><br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>is和as</title><link>http://www.cnblogs.com/gecko/archive/2009/06/19/1506877.html</link><dc:creator>gecko</dc:creator><author>gecko</author><pubDate>Fri, 19 Jun 2009 08:03:00 GMT</pubDate><guid>http://www.cnblogs.com/gecko/archive/2009/06/19/1506877.html</guid><description><![CDATA[<p>阅读: 49 评论: 1 作者: <a href="" target="_blank">gecko</a> 发表于 2009-06-19 16:03 <a href="http://www.cnblogs.com/gecko/archive/2009/06/19/1506877.html" target="_blank">原文链接</a></p><p>首先提个问题：is关键字是编译器决定，还是运行时决定？<br /></p><p>&nbsp;</p>
<p> is :检查对象是否与给定类型兼容。</p>
<p>如果所提供的表达式非空，并且所提供的对象可以强制转换为所提供的类型而不会导致引发异常，则 <span class="keyword">is</span> 表达式的计算结果将是 <span class="keyword">true</span>。</p>
<p>如果已知表达式将始终是 <span class="keyword">true</span> 或始终是 <span class="keyword">false</span>，则 <span class="keyword">is</span> 关键字将导致编译时警告，但是，通常在运行时才计算类型兼容性。</p>
<p>不能重载 <span class="keyword">is</span> 运算符。</p>
<p>请注意，<span class="keyword">is</span> 运算符只考虑引用转换、装箱转换和取消装箱转换。不考虑其他转换，如用户定义的转换。</p>
<p>在 <span class="keyword">is</span> 运算符的左侧不允许使用匿名方法。lambda 表达式属于例外。</p>
<p>&nbsp;</p>
<p>as </p>
<p><span class="keyword">as</span> 运算符用于在兼容的引用类型之间执行转换。</p>
<p><span class="keyword">as</span> 运算符类似于强制转换操作。但是，如果无法进行转换，则 <span class="keyword">as</span> 返回 <span class="keyword">null</span> 而非引发异常。</p>
<p>&nbsp;</p>
<p>除上面MS官方所说之外，通过IL，我们可以看出，用is表达式生成的语句更为简洁。</p>
<p>比如类型判等： <br />
</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(s&nbsp;</span><span style="color: #0000ff;">is</span><span style="color: #000000;">&nbsp;father)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;f&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;s&nbsp;</span><span style="color: #0000ff;">as</span><span style="color: #000000;">&nbsp;mother;<br />
}</span></div>
<p>&nbsp;生成的IL代码如下&nbsp; ： <br />
</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_153407" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_153407').style.display='none'; document.getElementById('Code_Open_Image_153407').style.display='inline'; document.getElementById('Code_Open_Text_153407').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" height="16"><img id="Code_Open_Image_153407" style="display: none;" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_153407').style.display='none'; getElementById('Code_Closed_Image_153407').style.display='inline'; getElementById('Code_Closed_Text_153407').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" height="16"><span id="Code_Closed_Text_153407" class="cnblogs_code_Collapse">Code</span><span id="Code_Open_Text_153407" style="display: none;"><br />
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff;">L_0013:</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">ldloc.2</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">载入变量&nbsp;s<br />
&nbsp;&nbsp;&nbsp;&nbsp;L_0014:&nbsp;ldnull&nbsp;&nbsp;&nbsp;&nbsp;*载入空值&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(s&nbsp;is&nbsp;father)语句拆解<br />
&nbsp;&nbsp;&nbsp;&nbsp;L_0015:&nbsp;ceq&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*判等</span><span style="color: #008000;">*/</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff;">L_0017:</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">stloc.3</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff;">L_0018:</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">ldloc.3</span><span style="color: #000000;">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff;">L_0019:</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">brtrue.s</span><span style="color: #000000;">&nbsp;L_001f<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff;">L_001b:</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">nop</span><span style="color: #000000;">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff;">L_001c:</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">ldloc.2</span><span style="color: #000000;">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff;">L_001d:</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">stloc.1</span><span style="color: #000000;">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff;">L_001e:</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">nop</span><span style="color: #000000;">&nbsp;
</span></span></div>
<br />
<p>使用typeof和GetType() <br />
</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(s.GetType()&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">typeof</span><span style="color: #000000;">(father))<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;s&nbsp;</span><span style="color: #0000ff;">as</span><span style="color: #000000;">&nbsp;mother;<br />
}</span></div>
<p>&nbsp;生成IL如下：</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_154121" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_154121').style.display='none'; document.getElementById('Code_Open_Image_154121').style.display='inline'; document.getElementById('Code_Open_Text_154121').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" height="16"><img id="Code_Open_Image_154121" style="display: none;" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_154121').style.display='none'; getElementById('Code_Closed_Image_154121').style.display='inline'; getElementById('Code_Closed_Text_154121').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" height="16"><span id="Code_Closed_Text_154121" class="cnblogs_code_Collapse">Code</span><span id="Code_Open_Text_154121" style="display: none;"><br />
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff;">L_001f:</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">ldloc.2</span><span style="color: #000000;">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff;">L_0020:</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">callvirt</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">instance</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;[mscorlib]System.Type&nbsp;[mscorlib]System.Object::GetType()&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff;">L_0025:</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">ldtoken</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int32</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff;">L_002a:</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">call</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;[mscorlib]System.Type&nbsp;[mscorlib]System.Type::GetTypeFromHandle(valuetype&nbsp;[mscorlib]System.RuntimeTypeHandle)</span><span style="color: #008000;">//</span><span style="color: #008000;">调用了GetType和GetTypeFromHandle，执行效率上变低了。</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff;">L_002f:</span><span style="color: #000000;">&nbsp;ceq&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span></span></div>
<p>显然执行效率上is快了。</p><p>&nbsp;</p><p>&nbsp;</p>
<span></span><img src="aggbug/1506877.html?type=0" width="1" height="1" alt=""/><p>评论: 1　<a href="http://www.cnblogs.com/gecko/archive/2009/06/19/1506877.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/gecko/archive/2009/06/19/1506877.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56859/" target="_blank">美调查公司称苹果iPad配件成本最低219美元</a><span style="color:gray">(2010-02-10 17:20)</span><br/>· <a href="http://news.cnblogs.com/n/56858/" target="_blank">摩尔庄园：儿童生意密码</a><span style="color:gray">(2010-02-10 17:15)</span><br/>· <a href="http://news.cnblogs.com/n/56857/" target="_blank">Facebook与美国在线合作 整合AIM动态功能</a><span style="color:gray">(2010-02-10 16:41)</span><br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>小故事，小心得</title><link>http://www.cnblogs.com/gecko/archive/2009/06/10/1500168.html</link><dc:creator>gecko</dc:creator><author>gecko</author><pubDate>Wed, 10 Jun 2009 01:43:00 GMT</pubDate><guid>http://www.cnblogs.com/gecko/archive/2009/06/10/1500168.html</guid><description><![CDATA[<p>阅读: 105 评论: 0 作者: <a href="" target="_blank">gecko</a> 发表于 2009-06-10 09:43 <a href="http://www.cnblogs.com/gecko/archive/2009/06/10/1500168.html" target="_blank">原文链接</a></p><p> </p><p>故事： <br /></p><p>联合利华引进了一条香皂包装生产线，结果发现这条生产线有个缺陷：常常会有盒子里没装入香皂。总不能把空盒子卖给顾客啊，他们只得请了一个学自动化的博士后设计一个方案来分拣空的香皂盒。博士后拉起了一个十几人的科研攻关小组，综合采用了机械、微电子、自动化、X射线探测等技术，花了几十万，解决了问题。每当生产线上有空香皂盒通过，两旁的探测器会检测到，并且驱动一只机械手把空皂盒推走。　 中国南方有个乡镇企业也买了同样的生产线，老板发现这个问题后大为发火，找了个小工来说：&#8220;你他妈给老子把这个搞定，不然你给老子爬走。&#8221; </p><br />小工很快想出了办法：他花了90块钱在生产线旁边放了一台大功率电风扇猛吹，于是空皂盒都被吹走了。 <br /><br /><p><br /></p><p>心得：</p><p>一个体现在特定场景的问题，博士后寻求解决问题的通用性。<br />小作坊虽然快捷，相同问题，在数据（如重量）产生变化时则行不通。<br />这个问题也体现在了软件开发上，一个好的企业拥有好的架构就应该如联合利华一般去做。效益表现在后期的劳动付出上。<br />而南方乡镇企业的规模和性质，也注定他解决问题的局限性。但能解决目前问题就是他们最需要的。<br />我们要是做小软件作坊，在一定程度上是需要南方乡镇企业的变通方式。同时在时间和精力及阅历允许的情况下，寻求解决问题的通用性，产生的效益是不同的。<br />这样，我便觉得是小作坊寻求开发模式突破的一个方式。也是小作坊走向联合利华能花钱的一个途径吧。</p><img src="aggbug/1500168.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/gecko/archive/2009/06/10/1500168.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/gecko/archive/2009/06/10/1500168.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56859/" target="_blank">美调查公司称苹果iPad配件成本最低219美元</a><span style="color:gray">(2010-02-10 17:20)</span><br/>· <a href="http://news.cnblogs.com/n/56858/" target="_blank">摩尔庄园：儿童生意密码</a><span style="color:gray">(2010-02-10 17:15)</span><br/>· <a href="http://news.cnblogs.com/n/56857/" target="_blank">Facebook与美国在线合作 整合AIM动态功能</a><span style="color:gray">(2010-02-10 16:41)</span><br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>管理类应用系统参数配置管理统一解决方法（含代码参考）</title><link>http://www.cnblogs.com/cancanwyq/archive/2009/04/08/1431483.html</link><dc:creator>苏康胜</dc:creator><author>苏康胜</author><pubDate>Wed, 08 Apr 2009 02:20:00 GMT</pubDate><guid>http://www.cnblogs.com/cancanwyq/archive/2009/04/08/1431483.html</guid><description><![CDATA[<p>阅读: 484 评论: 0 作者: <a href="" target="_blank">苏康胜</a> 发表于 2009-04-08 10:20 <a href="http://www.cnblogs.com/cancanwyq/archive/2009/04/08/1431483.html" target="_blank">原文链接</a></p><p style="text-indent: 21.75pt">.Net Web<span style="font-family: 宋体">应用程序提供了很强大的</span> Web.Config<span style="font-family: 宋体">功能，我们很多的系统可能已经习惯在</span>Web.Config<span style="font-family: 宋体">中进行配置，可是使用</span>Web.Config<span style="font-family: 宋体">进行一些配置，会有一些不太顺畅的特性，比如：修改</span>Web.Config <span style="font-family: 宋体">后，</span>Web<span style="font-family: 宋体">应用程序会出现错误页面并且需要重新登录，</span>Web.Config<span style="font-family: 宋体">配置过程不是很方便，即使通过安装包进行</span>Web.Config<span style="font-family: 宋体">的设置，</span>.Net <span style="font-family: 宋体">安装向导能提供的入口也是有限的。。。。。</span></p>
<p style="text-indent: 21.75pt">&nbsp;</p>
<p style="text-indent: 21.75pt"><span style="font-family: 宋体">通过</span>Cache<span style="font-family: 宋体">机制实现一个通用的配置管理模块</span></p>
<p style="text-indent: 21.75pt">&nbsp;</p>
<p style="text-indent: 21.75pt"><span style="font-family: 宋体">设计目标：</span></p>
<p style="margin-left: 50.25pt; text-indent: -18pt">1、&nbsp;<span style="font-family: 宋体">高速读取配置信息</span></p>
<p style="margin-left: 50.25pt; text-indent: -18pt">2、&nbsp;<span style="font-family: 宋体">统一的配置维护管理方便进行配置</span></p>
<p style="margin-left: 50.25pt; text-indent: -18pt">3、&nbsp;<span style="font-family: 宋体">新的配置模块及维护不需要再进行二次开发</span></p>
<p style="margin-left: 50.25pt">&nbsp;</p>
<p style="margin-left: 50.25pt">&nbsp;</p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">大致设计思路</span></p>
<p style="margin-left: 54pt; text-indent: -18pt">1、&nbsp;<span style="font-family: 宋体">通过</span>Cache<span style="font-family: 宋体">机制对配置文件的内容进行缓存，缓存的失效依赖于配置文件</span></p>
<p style="margin-left: 54pt; text-indent: -18pt">2、&nbsp;<span style="font-family: 宋体">在开发基础组件库中实现一个</span> CacheHelper <span style="font-family: 宋体">类统一读取配置信息</span></p>
<p style="margin-left: 54pt; text-indent: -18pt">3、&nbsp;<span style="font-family: 宋体">根据配置文件自动生成配置维护界面，实现统一的配置维护</span></p>
<p style="margin-left: 54pt">&nbsp;</p>
<p style="text-indent: 21.75pt"><span style="font-family: 宋体">代码参考：</span></p>
<p style="text-indent: 21.75pt">&nbsp;&nbsp; CacheHelper.cs &nbsp;<span style="font-family: 宋体">统一读取配置信息的一个类，</span> <span style="font-family: 宋体">打开配置文件，读取相关的配置信息到</span>HashTable ,<span style="font-family: 宋体">并保存到</span> Cache<span style="font-family: 宋体">中，</span>Cache<span style="font-family: 宋体">中存在则直接取</span>Cache<span style="font-family: 宋体">中的内容，否则重新读取文件，这样做到高速读取。</span></p>
<p style="text-indent: 21.75pt">&nbsp;&nbsp; </p>
<p style="text-indent: 21.75pt"></p>
<div class="cnblogs_code"><img id="Code_Closed_Image_093715" style="display: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_093715').style.display='none'; document.getElementById('Code_Open_Image_093715').style.display='inline'; document.getElementById('Code_Open_Text_093715').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"><img id="Code_Open_Image_093715" style="display: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_093715').style.display='none'; getElementById('Code_Closed_Image_093715').style.display='inline'; getElementById('Code_Closed_Text_093715').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"><span class="cnblogs_code_Collapse" id="Code_Closed_Text_093715" style="display: none">EpowerConfigHelper.cs</span><span id="Code_Open_Text_093715" style="display: inline"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System;<br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Collections;<br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web;<br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web.Caching;<br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Xml;<br /><br /></span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;Epower.DevBase.BaseTools<br />{<br />&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 />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;ConfigHelper&nbsp;的摘要说明。<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;自定义的系统参数配置文件的读取工具类<br />&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: #808080"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;ConfigHelper<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&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 />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;取~/Config/CommonConfig.xml中某个参数名对应的参数值<br />&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 />&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="ParameterName"&gt;</span><span style="color: #008000">参数名</span><span style="color: #808080">&lt;/param&gt;</span><span style="color: #008000"><br />&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;returns&gt;</span><span style="color: #008000">参数值</span><span style="color: #808080">&lt;/returns&gt;</span><span style="color: #808080"><br /></span><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">string</span><span style="color: #000000">&nbsp;GetParameterValue(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ParameterName)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;GetParameterValue(</span><span style="color: #800000">"</span><span style="color: #800000">EpowerConfig</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;ParameterName);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&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 />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;取某个参数配置文件中某个参数名对应的参数值<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;参数配置文件<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1、必须存放于"~/Config/"目录下面，以.xml为后缀<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2、配置格式参见~/Config/CommonConfig.xml<br />&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 />&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="ConfigName"&gt;</span><span style="color: #008000">配置文件的文件名，不要后缀</span><span style="color: #808080">&lt;/param&gt;</span><span style="color: #008000"><br />&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="ParameterName"&gt;</span><span style="color: #008000">参数名</span><span style="color: #808080">&lt;/param&gt;</span><span style="color: #008000"><br />&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;returns&gt;</span><span style="color: #008000">参数值</span><span style="color: #808080">&lt;/returns&gt;</span><span style="color: #808080"><br /></span><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">string</span><span style="color: #000000">&nbsp;GetParameterValue(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ConfigName,&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ParameterName)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hashtable&nbsp;CommonConfig&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;GetConfigCache(ConfigName);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(CommonConfig.ContainsKey(ParameterName))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;CommonConfig[ParameterName].ToString();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">throw</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Exception(</span><span style="color: #800000">"</span><span style="color: #800000">参数(</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;ParameterName&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">)没有定义，请检查配置文件！</span><span style="color: #800000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&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 />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;将配置的参数转换成Hashtable并存入缓存，配置文件修改后自动更新缓存<br />&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 />&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="ConfigName"&gt;&lt;/param&gt;</span><span style="color: #008000"><br />&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;returns&gt;&lt;/returns&gt;</span><span style="color: #808080"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;Hashtable&nbsp;GetConfigCache(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ConfigName)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;CacheName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Config_</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;ConfigName;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hashtable&nbsp;CommonConfig&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Hashtable();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cache&nbsp;cache&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;HttpRuntime.Cache;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(cache[CacheName]&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br />&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;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ConfigPath&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">#region</span><span style="color: #000000">&nbsp;取应用程序根物理路径</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000"><br />&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;ConfigPath&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;HttpRuntime.AppDomainAppPath;<br />&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;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(System.ArgumentException&nbsp;ex)<br />&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;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(ConfigPath&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">throw</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Exception(</span><span style="color: #800000">"</span><span style="color: #800000">系统异常，取不到应用程序所在根物理路径！</span><span style="color: #800000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">#endregion</span><span style="color: #000000"><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ConfigFile&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ConfigPath&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Config\\</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;ConfigName&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">.xml</span><span style="color: #800000">"</span><span style="color: #000000">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlDocument&nbsp;xmlDoc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;XmlDocument();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlDoc.Load(ConfigFile);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlNode&nbsp;oNode&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;xmlDoc.DocumentElement;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(oNode.HasChildNodes)<br />&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;XmlNodeList&nbsp;oList&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;oNode.ChildNodes;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;oList.Count;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />&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;CommonConfig.Add(oList[i].Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">].Value,&nbsp;oList[i].Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">Value</span><span style="color: #800000">"</span><span style="color: #000000">].Value);<br />&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;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cache.Insert(CacheName,&nbsp;CommonConfig,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;CacheDependency(ConfigFile));<br />&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;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CommonConfig&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(Hashtable)&nbsp;cache[CacheName];<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;CommonConfig;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span></span></div>
<p style="text-indent: 21.75pt">&nbsp;</p>
<p style="text-indent: 21.75pt"><span style="font-family: 宋体">代码参考：</span></p>
<p style="text-indent: 21.75pt">&nbsp;&nbsp;&nbsp; frmConfigSet.aspx&nbsp;<span style="font-family: 宋体">以配置文件名为参数，根据配置文件自动生成维护界面，并进行维护，保存。</span></p>
<p style="text-indent: 21.75pt">&nbsp;&nbsp;&nbsp; </p>
<div class="cnblogs_code"><img id="Code_Closed_Image_093909" style="display: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_093909').style.display='none'; document.getElementById('Code_Open_Image_093909').style.display='inline'; document.getElementById('Code_Open_Text_093909').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"><img id="Code_Open_Image_093909" style="display: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_093909').style.display='none'; getElementById('Code_Closed_Image_093909').style.display='inline'; getElementById('Code_Closed_Text_093909').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"><span class="cnblogs_code_Collapse" id="Code_Closed_Text_093909" style="display: none">根据配置动态加载控件</span><span id="Code_Open_Text_093909" style="display: inline"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">&nbsp;HtmlTable&nbsp;tab&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HtmlTable();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tab.ID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">tDynamic</span><span style="color: #800000">"</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tab.Attributes.Add(</span><span style="color: #800000">"</span><span style="color: #800000">width</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">80%</span><span style="color: #800000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tab.Attributes.Add(</span><span style="color: #800000">"</span><span style="color: #800000">class</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">tablebody</span><span style="color: #800000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HtmlTableRow&nbsp;tr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HtmlTableRow();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HtmlTableCell&nbsp;tc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HtmlTableCell();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlNodeList&nbsp;nodes&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;xmldoc.DocumentElement.SelectNodes(</span><span style="color: #800000">"</span><span style="color: #800000">Item</span><span style="color: #800000">"</span><span style="color: #000000">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;sConfigContent&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(xmldoc.DocumentElement.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">ConfigContent</span><span style="color: #800000">"</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sConfigContent&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;xmldoc.DocumentElement.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">ConfigContent</span><span style="color: #800000">"</span><span style="color: #000000">].Value;<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;sItemDesc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000">;<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;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;iRow&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">foreach</span><span style="color: #000000">&nbsp;(XmlNode&nbsp;node&nbsp;</span><span style="color: #0000ff">in</span><span style="color: #000000">&nbsp;nodes)<br />&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;iRow</span><span style="color: #000000">++</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HtmlTableRow();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tr.ID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">tDynamicRow</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;iRow;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AddControlByNode(node,iRow,</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;tr);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AddControl(tab,&nbsp;tr);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sItemDesc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(node.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">ItemContent</span><span style="color: #800000">"</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sItemDesc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;node.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">ItemContent</span><span style="color: #800000">"</span><span style="color: #000000">].Value;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(sItemDesc.Length&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">)<br />&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;</span><span style="color: #008000">//</span><span style="color: #008000">添加描述行</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iRow</span><span style="color: #000000">++</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HtmlTableRow();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tr.ID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">tDyContectRow</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;iRow;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HtmlTableCell();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tc.ID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">tDyContectTD_</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;iRow;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tc.InnerText&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sItemDesc;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tc.Attributes.Add(</span><span style="color: #800000">"</span><span style="color: #800000">class</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">list</span><span style="color: #800000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tc.Attributes.Add(</span><span style="color: #800000">"</span><span style="color: #800000">colspan</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">2</span><span style="color: #800000">"</span><span style="color: #000000">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AddControl(tr,&nbsp;tc);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AddControl(tab,&nbsp;tr);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span></span></div>
<p style="text-indent: 21.75pt">&nbsp;</p>
<p style="text-indent: 21.75pt">&nbsp;</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_094040" style="display: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_094040').style.display='none'; document.getElementById('Code_Open_Image_094040').style.display='inline'; document.getElementById('Code_Open_Text_094040').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"><img id="Code_Open_Image_094040" style="display: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_094040').style.display='none'; getElementById('Code_Closed_Image_094040').style.display='inline'; getElementById('Code_Closed_Text_094040').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"><span class="cnblogs_code_Collapse" id="Code_Closed_Text_094040" style="display: none">增加控件的代码段</span><span id="Code_Open_Text_094040" style="display: inline"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;&nbsp;获取设置的控件<br />&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 />&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="node"&gt;&lt;/param&gt;</span><span style="color: #008000"><br />&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;returns&gt;&lt;/returns&gt;</span><span style="color: #808080"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;Control&nbsp;GetSettingControl(XmlNode&nbsp;node)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;strCtrlType&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;node.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">ControlType</span><span style="color: #800000">"</span><span style="color: #000000">].Value;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;strValue&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;node.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">Value</span><span style="color: #800000">"</span><span style="color: #000000">].Value;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Control&nbsp;control;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">switch</span><span style="color: #000000">&nbsp;(strCtrlType.ToLower())<br />&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;</span><span style="color: #0000ff">case</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">text</span><span style="color: #800000">"</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;control&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;TextBox();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;control.ID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">tDynamic</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">_txt_</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;node.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">].Value;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((TextBox)control).Width&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Unit(</span><span style="color: #800000">"</span><span style="color: #800000">70%</span><span style="color: #800000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((TextBox)control).Attributes.Add(</span><span style="color: #800000">"</span><span style="color: #800000">Tag</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;node.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">].Value);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((TextBox)control).Text&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;strValue;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">break</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">case</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">checkbox</span><span style="color: #800000">"</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;control&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;CheckBox();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;control.ID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">tDynamic</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">_chk_</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;node.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">].Value;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((CheckBox)control).Attributes.Add(</span><span style="color: #800000">"</span><span style="color: #800000">Tag</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;node.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">].Value);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((CheckBox)control).Text&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;&nbsp;node.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">Desc</span><span style="color: #800000">"</span><span style="color: #000000">].Value;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(strValue.ToLower()&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">false</span><span style="color: #800000">"</span><span style="color: #000000">)<br />&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;((CheckBox)control).Checked&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />&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;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />&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;((CheckBox)control).Checked&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />&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;</span><span style="color: #0000ff">break</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">case</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">droplist</span><span style="color: #800000">"</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;control&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;DropDownList();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;control.ID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">tDynamic</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">_drp_</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;node.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">].Value;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((DropDownList)control).Attributes.Add(</span><span style="color: #800000">"</span><span style="color: #800000">Tag</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;node.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">].Value);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((DropDownList)control).Width&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Unit(</span><span style="color: #800000">"</span><span style="color: #800000">70%</span><span style="color: #800000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">[]&nbsp;sItems&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;node.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">Dict</span><span style="color: #800000">"</span><span style="color: #000000">].Value.Split(</span><span style="color: #800000">"</span><span style="color: #800000">,</span><span style="color: #800000">"</span><span style="color: #000000">.ToCharArray());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;sItems.Length;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />&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;</span><span style="color: #0000ff">string</span><span style="color: #000000">[]&nbsp;arr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sItems[i].Split(</span><span style="color: #800000">"</span><span style="color: #800000">|</span><span style="color: #800000">"</span><span style="color: #000000">.ToCharArray());<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;((DropDownList)control).Items.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ListItem(arr[</span><span style="color: #800080">1</span><span style="color: #000000">],&nbsp;arr[</span><span style="color: #800080">0</span><span style="color: #000000">]));<br />&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;((DropDownList)control).SelectedValue&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;strValue;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">break</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">case</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">datetime</span><span style="color: #800000">"</span><span style="color: #000000">:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;control&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(Epower.ITSM.Web.Controls.CtrDateAndTime)LoadControl(</span><span style="color: #800000">"</span><span style="color: #800000">~/controls/ctrdateandtime.ascx</span><span style="color: #800000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((Epower.ITSM.Web.Controls.CtrDateAndTime)control).ShowTime&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;control.ID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">tDynamic</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">_date_</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;node.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">].Value;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((Epower.ITSM.Web.Controls.CtrDateAndTime)control).Attributes.Add(</span><span style="color: #800000">"</span><span style="color: #800000">Tag</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;node.Attributes[</span><span style="color: #800000">"</span><span style="color: #800000">Name</span><span style="color: #800000">"</span><span style="color: #000000">].Value);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">break</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">default</span><span style="color: #000000">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;control&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">break</span><span style="color: #000000">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;control;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<p style="text-indent: 21.75pt">&nbsp;&nbsp;&nbsp; </p>
<p style="text-indent: 21.75pt">&nbsp;</p>
<p style="text-indent: 21.75pt"><span style="font-family: 宋体">配置文件范例：</span></p>
<p style="text-indent: 21.75pt">&nbsp;</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_094130" style="display: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_094130').style.display='none'; document.getElementById('Code_Open_Image_094130').style.display='inline'; document.getElementById('Code_Open_Text_094130').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"><img id="Code_Open_Image_094130" style="display: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_094130').style.display='none'; getElementById('Code_Closed_Image_094130').style.display='inline'; getElementById('Code_Closed_Text_094130').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"><span class="cnblogs_code_Collapse" id="Code_Closed_Text_094130" style="display: none">Xml Config范例</span><span id="Code_Open_Text_094130" style="display: inline"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">&lt;?</span><span style="color: #000000">xml&nbsp;version</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">1.0</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;encoding</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">utf-8</span><span style="color: #800000">"</span><span style="color: #000000">?&gt;</span><span style="color: #000000"><br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">EmailConfig&nbsp;Title</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">邮件服务设置</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ConfigContent</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">邮件服务器设置,服务器设置,.服务器设置,.服务器设置,.服务器设置,.服务器设置,.服务器设置,.</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">Item&nbsp;Name</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">smtpserver</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Value</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">smtp.vip.sina.com</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Desc</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">邮件SMTP服务器</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ControlType</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">TEXT</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ItemContent</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">设置邮件SMTP服务器的地址,格式:smtp.vip.sina.com</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">Item</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">Item&nbsp;Name</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">smtpfrom</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Value</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">cancankf@vip.sina.com</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Desc</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">邮件地址</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ControlType</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">TEXT</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ValidationExpression</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">Item</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">Item&nbsp;Name</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">smtpUserName</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Value</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">cancankf</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Desc</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">帐户</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ControlType</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">TEXT</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">Item</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">Item&nbsp;Name</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">smtppsd</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Value</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">123456</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Desc</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">密码</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ControlType</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">TEXT</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">Item</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">Item&nbsp;Name</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">smtpSSL</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Value</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">false</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Desc</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">是否SSL</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ControlType</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">CHECKBOX</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">Item</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">Item&nbsp;Name</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">smtpPort</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Value</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">0</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Desc</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">端口</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ControlType</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">TEXT</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ValidationExpression</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">\d{0,9}</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">Item</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">Item&nbsp;Name</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">smtpDateTest</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Value</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">2008-07-21</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Desc</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">测试日期</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ControlType</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">DATETIME</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">Item</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">Item&nbsp;Name</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">smtpListTest</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Value</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">0</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Desc</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">测试列表</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ControlType</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">DROPLIST</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Dict</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">0|值1,1|值2,2|值3</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">Item</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">EmailConfig</span><span style="color: #000000">&gt;</span></span></div>
<p style="text-indent: 21.75pt">&nbsp;</p>
<p style="text-indent: 21.75pt">&nbsp;</p>
<p style="text-indent: 21.75pt"><span style="font-family: 宋体">读取配置信息范例</span></p>
<p style="text-indent: 21.75pt">&nbsp;&nbsp;&nbsp; </p>
<p style="text-indent: 5.25pt"></p>
<div class="cnblogs_code"><img id="Code_Closed_Image_094215" style="display: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_094215').style.display='none'; document.getElementById('Code_Open_Image_094215').style.display='inline'; document.getElementById('Code_Open_Text_094215').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"><img id="Code_Open_Image_094215" style="display: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_094215').style.display='none'; getElementById('Code_Closed_Image_094215').style.display='inline'; getElementById('Code_Closed_Text_094215').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"><span class="cnblogs_code_Collapse" id="Code_Closed_Text_094215" style="display: none">Code</span><span id="Code_Open_Text_094215" style="display: inline"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;sSmtpServer&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ConfigHelper.GetParameterValue(</span><span style="color: #800000">"</span><span style="color: #800000">EmailConfig</span><span style="color: #800000">"</span><span style="color: #000000">,</span><span style="color: #800000">"</span><span style="color: #800000">smtpserver</span><span style="color: #800000">"</span><span style="color: #000000">);</span></span></div>
<p style="text-indent: 5.25pt">&nbsp;</p>
<p style="text-indent: 5.25pt">&nbsp;&nbsp; 这样下来我们无论是开发OA，CRM 进销存。。。 系统配置信息就只需要设计 这个XML文件有哪些配置项了，配置界面 配置信息的缓存读取等都已经统一实现，起到重用的作用。</p>
<p style="text-indent: 5.25pt">&nbsp;</p>
<p style="text-indent: 5.25pt">&nbsp;</p>
<p style="text-indent: 5.25pt">&nbsp;</p>
<p style="text-indent: 5.25pt">&nbsp;</p>
<p><font style="background-color: #c7edcc"></p>
<p><font style="background-color: #c7edcc"><strong>E8.Net工作流平台 提升企业战略执行力<br /></strong><a href="http://www.feifanit.com.cn/"><strong>http://www.feifanit.com.cn</strong></a></font></p>
<p><font style="background-color: #c7edcc"><strong>E8在线,打造中小企业一站式管理软件租用平台</strong></font></p>
<p><font style="background-color: #c7edcc"><a href="http://www.onlinee8.net/"><strong>http://www.onlinee8.net</strong></a></font></p>
<p></font>&nbsp;</p><font style="background-color: #ffffff"></font><img src="aggbug/1431483.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/cancanwyq/archive/2009/04/08/1431483.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/cancanwyq/archive/2009/04/08/1431483.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56859/" target="_blank">美调查公司称苹果iPad配件成本最低219美元</a><span style="color:gray">(2010-02-10 17:20)</span><br/>· <a href="http://news.cnblogs.com/n/56858/" target="_blank">摩尔庄园：儿童生意密码</a><span style="color:gray">(2010-02-10 17:15)</span><br/>· <a href="http://news.cnblogs.com/n/56857/" target="_blank">Facebook与美国在线合作 整合AIM动态功能</a><span style="color:gray">(2010-02-10 16:41)</span><br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>CCNET+MSBuild+SVN实时构建的优化总结</title><link>http://www.cnblogs.com/coderzh/archive/2009/04/05/1429858.html</link><dc:creator>CoderZh</dc:creator><author>CoderZh</author><pubDate>Sun, 05 Apr 2009 10:30:00 GMT</pubDate><guid>http://www.cnblogs.com/coderzh/archive/2009/04/05/1429858.html</guid><description><![CDATA[<p>阅读: 2582 评论: 24 作者: <a href="" target="_blank">CoderZh</a> 发表于 2009-04-05 18:30 <a href="http://www.cnblogs.com/coderzh/archive/2009/04/05/1429858.html" target="_blank">原文链接</a></p><p>本文不是介绍如何使用CCNET+MSBuild+SVN构建自动编译系统，相关的内容可以从很多地方获取，可以再园子里搜一下。</p>
<p>随着我们的SVN库日益壮大，容量达到10G,几十G 甚至更大时，我们发现自动构建速度越来越慢，直到有一天你发现入了很小一段代码却不得不等待几小时构建完成，程序员的忍受是有极限的，因此我们决定采取措施实施优化。<br />
</p>
<p>首先，我们必须分析哪些因素导致了我们构建速度的减慢，罗列一下，大概如下几个方面：</p>
<p>1. SVN库太大，使得构建服务器在更新SVN代码时花费大量时间。<br />
</p>
<p>2. SVN库里有很多工程，每当有SVN代码更新的时候，CCNET就会调用MSBuild将我们所有的工程都编译一遍。（即使入库的文件根本不需要编译，如python脚本） <br />
</p>
<p>3. SVN库中工程量越来越大，导致编译所有工程时间原来越长。</p>
<p>对于第三点，我们没有办法，但对于前两点，我们是有办法解决的，总结一下要做的事情：一是加快SVN更新速度，二是减少不必要的工程编译次数。<br />
</p>
<h4>一、加快SVN更新速度</h4>
<p>SVN的更新操作是有CCNET发起的，服务每隔一段时间查询一次SVN是否更新（看CCNET源码好像是调用svn --log来获取代码更新信息），如果有文件更新，则调用svn --update进行更新。从CCNET源码看来，CCNET对SVN代码的更新应该是针对性的，即，查询到哪部分代码有更新，就只更新那部分代码。这样的话效率应该不差。但在实际过程中，发现CCNET调用SVN更新速度异常的慢，甚至让我怀疑它是对整个SVN库执行了一次update操作。<br />
</p>
<p>要加快SVN更新速度，我们想到的是减少SVN更新的文件范围，假如你入库了一个python代码，或是QTP测试案例，因为无需编译，所以构建服务器甚至不需要更新那部分代码。因此，我们可以在CCNET的配置文件中只配置我们需要编译的工程：</p>
<p> </p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">sourcecontrol&nbsp;</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="multi"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">sourceControls</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">svn</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">trunkUrl</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">http://xxx/projectA</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">trunkUrl</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">workingDirectory</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">x:\ccnet\svn\projctA</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">workingDirectory</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">username</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">name</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">username</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">password</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">pwd</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">password</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">executable</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">x:\ccnet\Subversion\svn.exe</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">executable</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">svn</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">svn</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">trunkUrl</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">http://xxx/projectB</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">trunkUrl</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">workingDirectory</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">x:\ccnet\svn\projctB</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">workingDirectory</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">username</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">name</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">username</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">password</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">pwd</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">password</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">executable</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">x:\ccnet\Subversion\svn.exe</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">executable</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">svn</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">svn</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">trunkUrl</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">http://xxx/projectC</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">trunkUrl</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">workingDirectory</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">x:\ccnet\svn\projctC</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">workingDirectory</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">username</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">name</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">username</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">password</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">pwd</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">password</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">executable</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">x:\ccnet\Subversion\svn.exe</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">executable</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">svn</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">sourceControls</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">sourcecontrol</span><span style="color: #0000ff;">&gt;</span></div>
<p><br />
</p>
<p>通过上面的设置，CCNET就是监视我们上面指定的SVN路径的代码更新了，如果你的SVN库中有大量不需要编译的文件，这样的优化带来的效果是巨大的。 <br />
</p>
<h4>二、减少编译次数</h4>
<p> 上面解决了对入库不需要编译的代码文件的问题，但我们还需要面临一个问题是，当你入库工程A的代码时，你只希望编译工程A，而不是将工程A，B，C都编译一遍。甚至，可能还有更加严格的要求。比如，我们库中有个公共库的工程FrameworkA，工程ProjectA，ProjectB，ProjectC都使用到了该公共库工程。我们希望做到：<br />
</p>
<p>1. 当我入库的代码属于FrameworkA时，希望把ProjectA，ProjectB，ProjectC都编译一遍。（因为我修改了公共库，很有可能导致工程A,B,C编译不过。）</p>
<p>2. 当我入库的是ProjectA(或B,C)时，我只希望编译ProjectA(或B,C)就行了。<br />
</p>
<p>我们看到我们的工程之间多了一些内在的联系，如何才能处理这种复杂的编译关系呢？我想到的是，要么在CCNET上做手脚，要么在MSBuild上进行扩展。CCNET是一个开源项目，我完全可以修改它的代码为我所用，甚至修改出一个更适合使用的版本提交上去 ，但发现这样做的工程量太大，需要花费的精力太多。我需要找到一个简单的，又容易实现的方案，达到我们上面的两点需求。因此，我选择了对MSBuild进行扩展，而MSBuild本事又是支持这种扩展的，这给我带来了很大的方便。<br />
</p>
<p>熟悉MSBuild配置文件的朋友一定知道里面有很多Task供我们使用，比如:CallTarget，Exec，MakeDir，VCBuild等等。同时，也提供机制让我们实现自己的自定义Task。详细使用可以参考微软的文档：<a href="http://msdn.microsoft.com/en-us/library/t9883dzc.aspx">How to write a Task</a><br />
</p>
<p>现在，我们可以实现一个自己的Task了，那么在我们自定义的这个Task里，我们应该做些什么呢？恩，再来整理一下思路：</p>
<p>1. 我们需要知道更新的代码属于哪个工程。<br />
</p>
<p>2. 我们需要知道编译该工程的同时，还需要编译哪些与之相关的工程。<br />
</p>
<p>首先解决第一个问题，如何知道更新的代码属于哪个工程？其实，一个更加实际的问题，如何知道更新了哪些代码？ 我曾经尝试过使用CCNET一样的办法，调用svn --log对入库记录进行查询，然后每次保存好上次更新的状态，再判断这次更新相对于上次改动了哪些。做到这些其实非常容易，但是，存在一个问题，CCNET本身也有一个机制在记录着SVN更新的状态（state文件），如果我又记录一个自己的SVN更新历史的文件，可能和CCNET本身记录的有时间差，使得整个流程下来对于要更新的和编译的代码文件变得非常不确定。因此，我最后打算直接使用CCNET获取到的文件更新列表。要获取CCNET获取的SVN更新列表，只需要在CCNET的配置文件中加入下面一段：<br />
</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">prebuild</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">modificationWriter</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">filename</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">mods.xml</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">filename</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">path</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">x:\ccnet\svn\build</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">path</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">modificationWriter</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">prebuild</span><span style="color: #0000ff;">&gt;</span></div>
<p>&nbsp;</p>
<p>这样，每当CCNET更新SVN代码时，都会将SVN的更新记录到mods.xml中，mods.xml的格式大致如下：<br />
</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;?</span><span style="color: #ff00ff;">xml&nbsp;version="1.0"&nbsp;encoding="utf-8"</span><span style="color: #0000ff;">?&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ArrayOfModification&nbsp;</span><span style="color: #ff0000;">xmlns:xsi</span><span style="color: #0000ff;">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #ff0000;">&nbsp;xmlns:xsd</span><span style="color: #0000ff;">="http://www.w3.org/2001/XMLSchema"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Modification</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Type</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Modified</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Type</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">FileName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">xxx.cs</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">FileName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">FolderName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">/trunk/ProjectA/</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">FolderName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ModifiedTime</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2009-04-05T16:09:58.545196+08:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ModifiedTime</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">UserName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">coderzh</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">UserName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ChangeNumber</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">8888</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ChangeNumber</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Version&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Comment</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Upload&nbsp;My&nbsp;Greate&nbsp;Code</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Comment</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Modification</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ArrayOfModification</span><span style="color: #0000ff;">&gt;</span></div>
<p>&nbsp;</p>
<p>回到正题，通过读取mods.xml知道CCNET此次编译前更新的代码后，如何判断改代码文件属于哪个工程呢？很容易想到的就是通过路径判断，比如上面的代码的FolderName是/trunk/ProjectA，我们就能断定该代码文件属于ProjectA。当然，我们还需要一个配置文件，用于说明哪些目录下的代码属于哪个工程，即代码文件与工程的对应关系。这些信息我们可以直接在MSBuild的配置文件中设置：<br />
</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">PropertyGroup</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">FrameworkAPath</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">\trunk\Framework</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">FrameworkAPath</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ProjectA</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">\trunk\ProjectA</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ProjectA</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ProjectB</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">\trunk\ProjectB</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ProjectB</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ProjectC</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">\trunk\ProjectC</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ProjectC</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">PropertyGroup</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ItemGroup</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">SvnFolder&nbsp;</span><span style="color: #ff0000;">Include</span><span style="color: #0000ff;">="$(FrameworkAPath);"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ProjectName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">FrameworkA</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ProjectName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">SvnFolder</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">SvnFolder&nbsp;</span><span style="color: #ff0000;">Include</span><span style="color: #0000ff;">="$(ProjectAPath);"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ProjectName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">ProjectA</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ProjectName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">SvnFolder</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">SvnFolder&nbsp;</span><span style="color: #ff0000;">Include</span><span style="color: #0000ff;">="$(ProjectBPath);"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ProjectName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">ProjectB</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ProjectName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">SvnFolder</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">SvnFolder&nbsp;</span><span style="color: #ff0000;">Include</span><span style="color: #0000ff;">="$(ProjectCPath"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ProjectName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">ProjectC</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ProjectName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">SvnFolder</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ItemGroup</span><span style="color: #0000ff;">&gt;</span></div>
<p>&nbsp;</p>
<p>OK，我们的第一个问题解决了，接下来的问题是，如何设置工程间的这种关联关系。同样的，我们通过MSBuild配置文件中的Target来设置，我们看下面的配置就会明白了：</p>
<p> </p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Target&nbsp;</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="FrameworkA"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">MSBuild&nbsp;</span><span style="color: #ff0000;">Projects</span><span style="color: #0000ff;">="$(FrameworkAPath)\FrameworkA.sln"</span><span style="color: #ff0000;">&nbsp;Properties</span><span style="color: #0000ff;">="Configuration=Release"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">CallTarget&nbsp;</span><span style="color: #ff0000;">Targets</span><span style="color: #0000ff;">="ProjectA"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">CallTarget&nbsp;</span><span style="color: #ff0000;">Targets</span><span style="color: #0000ff;">="ProjectB"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">CallTarget&nbsp;</span><span style="color: #ff0000;">Targets</span><span style="color: #0000ff;">="ProjectC"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Target</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Target&nbsp;</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ProjectA"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">MSBuild&nbsp;</span><span style="color: #ff0000;">Projects</span><span style="color: #0000ff;">="$(ProjectAPath)\ProjectA.sln"</span><span style="color: #ff0000;">&nbsp;Properties</span><span style="color: #0000ff;">="Configuration=Release"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Target</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Target&nbsp;</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ProjectB"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">MSBuild&nbsp;</span><span style="color: #ff0000;">Projects</span><span style="color: #0000ff;">="$(ProjectBPath)\ProjectB.sln"</span><span style="color: #ff0000;">&nbsp;Properties</span><span style="color: #0000ff;">="Configuration=Release"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Target</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Target&nbsp;</span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="ProjectC"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">MSBuild&nbsp;</span><span style="color: #ff0000;">Projects</span><span style="color: #0000ff;">="$(ProjectCPath)\ProjectC.sln"</span><span style="color: #ff0000;">&nbsp;Properties</span><span style="color: #0000ff;">="Configuration=Release"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Target</span><span style="color: #0000ff;">&gt;</span></div>
<p><br />
</p>
<p>我们看到，我们通过Target的设置成功的将不同工程联系了起来，当我们需要编译FrameworkA时，我们只需要调用FrameworkA这个Target，它会先FrameworkA编译，然后再调用ProjectA，ProjectB，ProjectC的编译。</p>
<p>哈哈，一切准备工作都就绪了，我们需要在MSBuild的扩展Task里完成的任务就是：</p>
<p>1. 读取mods.xml，自动判断入库代码所属工程。<br />
</p>
<p>2. 返回需要编译的工程名列表。</p>
<p>我们在VS里建立一个DLL工程，然后添加Microsoft.Build.Utilities和Microsoft.Build.Framework的引用，然后编写我们自定义的Task类，我取名为MyTask，让它继承Task类，我们要做的是重写其中的Execute方法。MSBuild具体的Task写法请参照<a href="http://msdn.microsoft.com/en-us/library/t9883dzc.aspx">How to write a Task</a>，我这里不再重复了，下面是的MyTask代码：</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_165057" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_165057').style.display='none'; document.getElementById('Code_Open_Image_165057').style.display='inline'; document.getElementById('Code_Open_Text_165057').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" height="16"><img id="Code_Open_Image_165057" style="display: none;" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_165057').style.display='none'; getElementById('Code_Closed_Image_165057').style.display='inline'; getElementById('Code_Closed_Text_165057').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" height="16"><span id="Code_Closed_Text_165057" class="cnblogs_code_Collapse">MyTask</span><span id="Code_Open_Text_165057" style="display: none;"><br />
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Collections.Generic;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Linq;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Text;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;Microsoft.Build.Utilities;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Xml;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Collections;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;Microsoft.Build.Framework;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.IO;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;CoderZh.MyTask<br />
<img id="Codehighlighter1_239_6015_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_239_6015_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_239_6015_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_239_6015_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_239_6015_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_239_6015_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_239_6015_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_239_6015_Open_Text').style.display='inline';" align="top"></span><span id="Codehighlighter1_239_6015_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_239_6015_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;MyTask&nbsp;:&nbsp;Task<br />
<img id="Codehighlighter1_276_6013_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_276_6013_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_276_6013_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_276_6013_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_276_6013_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_276_6013_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_276_6013_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_276_6013_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_276_6013_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_276_6013_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Output]<br />
<img id="Codehighlighter1_330_343_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_330_343_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_330_343_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_330_343_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_330_343_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_330_343_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_330_343_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_330_343_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;ITaskItem[]&nbsp;Targets&nbsp;</span><span id="Codehighlighter1_330_343_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_330_343_Open_Text"><span style="color: #000000;">{&nbsp;</span><span style="color: #0000ff;">get</span><span style="color: #000000;">;&nbsp;</span><span style="color: #0000ff;">set</span><span style="color: #000000;">;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Required]<br />
<img id="Codehighlighter1_400_413_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_400_413_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_400_413_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_400_413_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_400_413_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_400_413_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_400_413_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_400_413_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;ITaskItem[]&nbsp;Projects&nbsp;</span><span id="Codehighlighter1_400_413_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_400_413_Open_Text"><span style="color: #000000;">{&nbsp;</span><span style="color: #0000ff;">get</span><span style="color: #000000;">;&nbsp;</span><span style="color: #0000ff;">set</span><span style="color: #000000;">;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Required]<br />
<img id="Codehighlighter1_470_483_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_470_483_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_470_483_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_470_483_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_470_483_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_470_483_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_470_483_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_470_483_Open_Text').style.display='inline';" align="top">&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;">string</span><span style="color: #000000;">&nbsp;SvnModifyFile&nbsp;</span><span id="Codehighlighter1_470_483_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_470_483_Open_Text"><span style="color: #000000;">{&nbsp;</span><span style="color: #0000ff;">get</span><span style="color: #000000;">;&nbsp;</span><span style="color: #0000ff;">set</span><span style="color: #000000;">;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Required]<br />
<img id="Codehighlighter1_536_549_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_536_549_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_536_549_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_536_549_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_536_549_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_536_549_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_536_549_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_536_549_Open_Text').style.display='inline';" align="top">&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;">string</span><span style="color: #000000;">&nbsp;StateFile&nbsp;</span><span id="Codehighlighter1_536_549_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_536_549_Open_Text"><span style="color: #000000;">{&nbsp;</span><span style="color: #0000ff;">get</span><span style="color: #000000;">;&nbsp;</span><span style="color: #0000ff;">set</span><span style="color: #000000;">;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;DateTime&nbsp;curBuildTime;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;DateTime&nbsp;lastBuildTime;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;Boolean&nbsp;lastBuildResult&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img id="Codehighlighter1_688_791_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_688_791_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_688_791_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_688_791_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_688_791_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_688_791_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_688_791_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_688_791_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_688_791_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;">/**/</span><span id="Codehighlighter1_688_791_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 />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;My&nbsp;Task&nbsp;Run&nbsp;From&nbsp;Here<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&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 />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&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;returns&gt;&lt;/returns&gt;</span><span style="color: #808080;"></span></span><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><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;">override</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;Execute()<br />
<img id="Codehighlighter1_838_1554_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_838_1554_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_838_1554_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_838_1554_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_838_1554_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_838_1554_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_838_1554_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_838_1554_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_838_1554_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_838_1554_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;((</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Projects&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">||</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Projects.Length&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">))<br />
<img id="Codehighlighter1_924_968_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_924_968_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_924_968_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_924_968_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_924_968_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_924_968_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_924_968_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_924_968_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_924_968_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_924_968_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">Read&nbsp;last&nbsp;build&nbsp;time&nbsp;and&nbsp;result</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.ReadLastBuildStatus();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.lastBuildResult&nbsp;</span><span style="color: #000000;">||</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.lastBuildTime.Day&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;DateTime.Now.Day)<br />
<img id="Codehighlighter1_1154_1379_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1154_1379_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1154_1379_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1154_1379_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_1154_1379_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1154_1379_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1154_1379_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1154_1379_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1154_1379_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_1154_1379_Open_Text"><span style="color: #000000;">{</span><span style="color: #008000;">//</span><span style="color: #008000;">If&nbsp;last&nbsp;build&nbsp;fail,&nbsp;or&nbsp;it&nbsp;is&nbsp;another&nbsp;day,&nbsp;then&nbsp;run&nbsp;all&nbsp;the&nbsp;targets</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log.LogMessage(</span><span style="color: #800000;">"</span><span style="color: #800000;">Last&nbsp;build&nbsp;fail,&nbsp;or&nbsp;it&nbsp;is&nbsp;another&nbsp;day,&nbsp;then&nbsp;run&nbsp;all&nbsp;the&nbsp;targets</span><span style="color: #800000;">"</span><span style="color: #000000;">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.SetAllTargetsToRun();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />
<img id="Codehighlighter1_1409_1518_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1409_1518_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1409_1518_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1409_1518_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_1409_1518_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1409_1518_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1409_1518_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1409_1518_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1409_1518_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_1409_1518_Open_Text"><span style="color: #000000;">{</span><span style="color: #008000;">//</span><span style="color: #008000;">check&nbsp;the&nbsp;svn&nbsp;and&nbsp;run&nbsp;the&nbsp;specify&nbsp;targets</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.SetTargetsToRunBySvnModify();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img id="Codehighlighter1_1565_1653_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1565_1653_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1565_1653_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1565_1653_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_1565_1653_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1565_1653_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1565_1653_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1565_1653_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1565_1653_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;">/**/</span><span id="Codehighlighter1_1565_1653_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 />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;Read&nbsp;Last&nbsp;Build&nbsp;Result,&nbsp;Success&nbsp;Or&nbsp;Not<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&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: #808080;"></span></span><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;ReadLastBuildStatus()<br />
<img id="Codehighlighter1_1704_2711_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1704_2711_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1704_2711_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1704_2711_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_1704_2711_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1704_2711_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1704_2711_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1704_2711_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1704_2711_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_1704_2711_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">try</span><span style="color: #000000;"><br />
<img id="Codehighlighter1_1734_2479_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1734_2479_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1734_2479_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1734_2479_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_1734_2479_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1734_2479_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1734_2479_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1734_2479_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_1734_2479_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_1734_2479_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlDocument&nbsp;doc&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;XmlDocument();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doc.Load(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.StateFile);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlNode&nbsp;lastBuildTimeNode&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;doc.SelectSingleNode(</span><span style="color: #800000;">"</span><span style="color: #800000;">/IntegrationResult/StartTime</span><span style="color: #800000;">"</span><span style="color: #000000;">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.lastBuildTime&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Convert.ToDateTime(lastBuildTimeNode.InnerText);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlNode&nbsp;lastBuildResultNode&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;doc.SelectSingleNode(</span><span style="color: #800000;">"</span><span style="color: #800000;">/IntegrationResult/LastIntegrationStatus</span><span style="color: #800000;">"</span><span style="color: #000000;">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.lastBuildResult&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;lastBuildResultNode.InnerText.ToLower()&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">success</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log.LogMessage(</span><span style="color: #800000;">"</span><span style="color: #800000;">Load&nbsp;from&nbsp;:&nbsp;{0}\r\nLastBuild&nbsp;Time&nbsp;:&nbsp;{1}\r\nLastBuild&nbsp;Result&nbsp;:&nbsp;{2}</span><span style="color: #800000;">"</span><span style="color: #000000;">,<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&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><span style="color: #0000ff;">this</span><span style="color: #000000;">.StateFile,&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.lastBuildTime.ToString(),&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.lastBuildResult.ToString());<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doc&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">catch</span><span style="color: #000000;">(Exception&nbsp;ex)<br />
<img id="Codehighlighter1_2524_2701_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2524_2701_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2524_2701_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2524_2701_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_2524_2701_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2524_2701_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2524_2701_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2524_2701_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_2524_2701_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_2524_2701_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log.LogWarningFromException(ex);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.lastBuildTime&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;DateTime.Today.AddDays(</span><span style="color: #000000;">-</span><span style="color: #800080;">1.0</span><span style="color: #000000;">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.lastBuildResult&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img id="Codehighlighter1_2721_2793_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2721_2793_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2721_2793_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2721_2793_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_2721_2793_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2721_2793_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2721_2793_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2721_2793_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_2721_2793_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;">/**/</span><span id="Codehighlighter1_2721_2793_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 />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;Set&nbsp;All&nbsp;targets&nbsp;to&nbsp;run<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&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: #808080;"></span></span><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;SetAllTargetsToRun()<br />
<img id="Codehighlighter1_2843_3430_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2843_3430_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2843_3430_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2843_3430_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_2843_3430_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2843_3430_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2843_3430_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2843_3430_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_2843_3430_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_2843_3430_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList&nbsp;list&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ArrayList();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">foreach</span><span style="color: #000000;">&nbsp;(ITaskItem&nbsp;item&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Projects)<br />
<img id="Codehighlighter1_2957_3167_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2957_3167_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_2957_3167_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_2957_3167_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_2957_3167_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_2957_3167_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_2957_3167_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_2957_3167_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_2957_3167_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_2957_3167_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;targetName&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;item.GetMetadata(</span><span style="color: #800000;">"</span><span style="color: #800000;">ProjectName</span><span style="color: #800000;">"</span><span style="color: #000000;">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">list.Contains(targetName))<br />
<img id="Codehighlighter1_3092_3153_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3092_3153_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_3092_3153_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_3092_3153_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_3092_3153_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3092_3153_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_3092_3153_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_3092_3153_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_3092_3153_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_3092_3153_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.Add(targetName);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList&nbsp;targetList&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ArrayList();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">foreach</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;item&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;list)<br />
<img id="Codehighlighter1_3274_3341_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3274_3341_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_3274_3341_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_3274_3341_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_3274_3341_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3274_3341_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_3274_3341_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_3274_3341_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_3274_3341_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_3274_3341_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;targetList.Add(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;TaskItem(item));<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Targets&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(ITaskItem[])targetList.ToArray(</span><span style="color: #0000ff;">typeof</span><span style="color: #000000;">(ITaskItem));<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img id="Codehighlighter1_3440_3522_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3440_3522_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_3440_3522_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_3440_3522_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_3440_3522_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3440_3522_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_3440_3522_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_3440_3522_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_3440_3522_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;">/**/</span><span id="Codehighlighter1_3440_3522_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 />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;Set&nbsp;Targets&nbsp;to&nbsp;run&nbsp;by&nbsp;SVN&nbsp;Modify<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&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: #808080;"></span></span><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;SetTargetsToRunBySvnModify()<br />
<img id="Codehighlighter1_3580_5130_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3580_5130_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_3580_5130_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_3580_5130_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_3580_5130_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3580_5130_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_3580_5130_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_3580_5130_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_3580_5130_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_3580_5130_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.curBuildTime&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;DateTime.Now;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList&nbsp;list&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ArrayList();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;mods&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;GetModification();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">foreach</span><span style="color: #000000;">&nbsp;(ITaskItem&nbsp;item&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Projects)<br />
<img id="Codehighlighter1_3793_5046_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3793_5046_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_3793_5046_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_3793_5046_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_3793_5046_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_3793_5046_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_3793_5046_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_3793_5046_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_3793_5046_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_3793_5046_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;projectFolder&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Path.GetFullPath(item.ItemSpec);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;excludeFolder&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;item.GetMetadata(</span><span style="color: #800000;">"</span><span style="color: #800000;">Exclude</span><span style="color: #800000;">"</span><span style="color: #000000;">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;excludeFolder&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;String.IsNullOrEmpty(excludeFolder)&nbsp;</span><span style="color: #000000;">?</span><span style="color: #000000;">&nbsp;String.Empty&nbsp;:&nbsp;Path.GetFullPath(excludeFolder);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log.LogMessage(</span><span style="color: #800000;">"</span><span style="color: #800000;">\nprojectFolder:</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;projectFolder);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">foreach</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;mod&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;mods)<br />
<img id="Codehighlighter1_4183_5032_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4183_5032_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_4183_5032_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_4183_5032_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_4183_5032_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4183_5032_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_4183_5032_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_4183_5032_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_4183_5032_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_4183_5032_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;modifyFolder&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Path.GetFullPath(mod.Replace(</span><span style="color: #800000;">@"</span><span style="color: #800000;">/trunk</span><span style="color: #800000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">..</span><span style="color: #800000;">"</span><span style="color: #000000;">));<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log.LogMessage(</span><span style="color: #800000;">"</span><span style="color: #800000;">\t--&nbsp;modifyFolder:</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;modifyFolder);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(modifyFolder.Contains(projectFolder))<br />
<img id="Codehighlighter1_4431_5014_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4431_5014_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_4431_5014_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_4431_5014_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_4431_5014_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4431_5014_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_4431_5014_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_4431_5014_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_4431_5014_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_4431_5014_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&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 />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&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><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">String.IsNullOrEmpty(excludeFolder)&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;modifyFolder.Contains(excludeFolder))<br />
<img id="Codehighlighter1_4588_4729_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4588_4729_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_4588_4729_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_4588_4729_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_4588_4729_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_4588_4729_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_4588_4729_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_4588_4729_Open_Text').style.display='inline';" align="top">&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><span id="Codehighlighter1_4588_4729_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_4588_4729_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&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;Log.LogMessage(</span><span style="color: #800000;">"</span><span style="color: #800000;">Exclude&nbsp;:&nbsp;{0}</span><span style="color: #800000;">"</span><span style="color: #000000;">,&nbsp;excludeFolder);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&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><span style="color: #0000ff;">continue</span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&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></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&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><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;targetName&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;item.GetMetadata(</span><span style="color: #800000;">"</span><span style="color: #800000;">ProjectName</span><span style="color: #800000;">"</span><span style="color: #000000;">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&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 />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log.LogMessage(</span><span style="color: #800000;">"</span><span style="color: #800000;">Matched&nbsp;:&nbsp;{0}</span><span style="color: #800000;">"</span><span style="color: #000000;">,&nbsp;targetName);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.Add(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;TaskItem(targetName));<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&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><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Targets&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(ITaskItem[])list.ToArray(</span><span style="color: #0000ff;">typeof</span><span style="color: #000000;">(ITaskItem));<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><br />
<img id="Codehighlighter1_5140_5252_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_5140_5252_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_5140_5252_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_5140_5252_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_5140_5252_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_5140_5252_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_5140_5252_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_5140_5252_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_5140_5252_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;">/**/</span><span id="Codehighlighter1_5140_5252_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 />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;Get&nbsp;Modification&nbsp;From&nbsp;mods.xml<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&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 />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&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;returns&gt;&lt;/returns&gt;</span><span style="color: #808080;"></span></span><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;List</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;GetModification()<br />
<img id="Codehighlighter1_5307_6007_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_5307_6007_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_5307_6007_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_5307_6007_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_5307_6007_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_5307_6007_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_5307_6007_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_5307_6007_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_5307_6007_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_5307_6007_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;modList&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: #0000ff;">string</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">try</span><span style="color: #000000;"><br />
<img id="Codehighlighter1_5392_5859_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_5392_5859_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_5392_5859_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_5392_5859_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_5392_5859_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_5392_5859_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_5392_5859_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_5392_5859_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_5392_5859_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_5392_5859_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlDocument&nbsp;doc&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;XmlDocument();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doc.Load(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.SvnModifyFile);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlNodeList&nbsp;modNodeList&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;doc.SelectNodes(</span><span style="color: #800000;">"</span><span style="color: #800000;">/ArrayOfModification/Modification</span><span style="color: #800000;">"</span><span style="color: #000000;">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">foreach</span><span style="color: #000000;">&nbsp;(XmlNode&nbsp;modNode&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;modNodeList)<br />
<img id="Codehighlighter1_5662_5817_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_5662_5817_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_5662_5817_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_5662_5817_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_5662_5817_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_5662_5817_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_5662_5817_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_5662_5817_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_5662_5817_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_5662_5817_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XmlNode&nbsp;folderNode&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;modNode.SelectSingleNode(</span><span style="color: #800000;">"</span><span style="color: #800000;">FolderName</span><span style="color: #800000;">"</span><span style="color: #000000;">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modList.Add(folderNode.InnerText);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doc&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">catch</span><span style="color: #000000;">&nbsp;(Exception&nbsp;ex)<br />
<img id="Codehighlighter1_5905_5969_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_5905_5969_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_5905_5969_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_5905_5969_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_5905_5969_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_5905_5969_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_5905_5969_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_5905_5969_Open_Text').style.display='inline';" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_5905_5969_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_5905_5969_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log.LogWarningFromException(ex);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;modList;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top" />}</span></span></span></div>
<p>&nbsp;</p>
<p>接下来完成最后一步，配置完成我们的MSBuild配置文件。我们添加MyTask相关的内容：<br />
</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->&lt;UsingTask AssemblyFile="<span style="color: #800080;">CoderZh.MyTask.dll</span>" TaskName="<span style="color: #800080;">MyTask</span>"/&gt;<br />
<span style="color: #000000;">&lt;</span><span style="color: #000000;">Target&nbsp;Name</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">Build</span><span style="color: #800000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">MyTask&nbsp;SvnModifyFile</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">$(SvnModifyFile)</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;StateFile</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">$(CCNetStateFile)</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;Projects</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">@(SvnFolder)</span><span style="color: #800000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Output&nbsp;TaskParameter</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">Targets</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;ItemName</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">TargetNames</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">MyTask</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Message&nbsp;Text</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">Targets&nbsp;to&nbsp;be&nbsp;call:@(TargetNames)</span><span style="color: #800000;">"</span><span style="color: #000000;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">CallTarget&nbsp;Targets</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">@(TargetNames)</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">Target</span><span style="color: #000000;">&gt;</span></div>
<p>&nbsp;</p>
<p>OK，搞定！</p>
<h4>三、总结</h4>
<p>通过上面的方法，我们实现了：</p>
<p>1.CCNET只更新需要编译的工程代码，大大减少了SVN更新的时间，同时，也减少了SVN编译的次数。</p>
<p>2.我们实现了只编译入库代码所属工程，以及其相关联的工程。大大减少了编译工程的范围，缩短了编译时间。</p>
<p>我也知道，上面的解决方案不够完美，也许有更加直接，简单的处理办法，也请大家拿出来讨论讨论，不甚感激。</p>
<p>本文相关的配置文件及代码如下，希望对大家有微薄之助。<br />
</p>
<p>代码：<a href="http://files.cnblogs.com/coderzh/mytask/MyBuild.rar">/Files/coderzh/mytask/MyBuild.rar</a>&nbsp;</p>
<p>MSBuild 配置文件：<a href="http://files.cnblogs.com/coderzh/mytask/mybuild.txt">/Files/coderzh/mytask/mybuild.txt</a> </p><p>CCNET配置文件：<a href="http://files.cnblogs.com/coderzh/mytask/ccnet.txt">/Files/coderzh/mytask/ccnet.txt</a><br />
</p><img src="aggbug/1429858.html?type=0" width="1" height="1" alt=""/><p>评论: 24　<a href="http://www.cnblogs.com/coderzh/archive/2009/04/05/1429858.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/coderzh/archive/2009/04/05/1429858.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56859/" target="_blank">美调查公司称苹果iPad配件成本最低219美元</a><span style="color:gray">(2010-02-10 17:20)</span><br/>· <a href="http://news.cnblogs.com/n/56858/" target="_blank">摩尔庄园：儿童生意密码</a><span style="color:gray">(2010-02-10 17:15)</span><br/>· <a href="http://news.cnblogs.com/n/56857/" target="_blank">Facebook与美国在线合作 整合AIM动态功能</a><span style="color:gray">(2010-02-10 16:41)</span><br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>SqlHelper 数据库操作类2</title><link>http://www.cnblogs.com/linsongbin/archive/2009/03/02/1401205.html</link><dc:creator>林松斌</dc:creator><author>林松斌</author><pubDate>Mon, 02 Mar 2009 01:28:00 GMT</pubDate><guid>http://www.cnblogs.com/linsongbin/archive/2009/03/02/1401205.html</guid><description><![CDATA[<p>阅读: 332 评论: 2 作者: <a href="" target="_blank">林松斌</a> 发表于 2009-03-02 09:28 <a href="http://www.cnblogs.com/linsongbin/archive/2009/03/02/1401205.html" target="_blank">原文链接</a></p><p>&nbsp;</p>
<div class="cnblogs_code" style="width: 755px; height: 3594px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System;<br />
</span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Data;<br />
</span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Data.SqlClient;<br />
<br />
</span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;lsb.DBUtility<br />
{<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;SQL&nbsp;Server&nbsp;数据库操作类<br />
&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: #808080"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;SqlHelper<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;connectionString&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Data&nbsp;Source=.;Initial&nbsp;Catalog=FBMS;Integrated&nbsp;Security=True</span><span style="color: #800000">"</span><span style="color: #000000">;<br />
<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;执行查询,&nbsp;返回单个值<br />
&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: #808080"><br />
</span><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">object</span><span style="color: #000000">&nbsp;ExecuteScalar(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;sql)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;(SqlConnection&nbsp;conn&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))<br />
&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;</span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;(SqlCommand&nbsp;cmd&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(sql,&nbsp;conn))<br />
&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;</span><span style="color: #0000ff">try</span><span style="color: #000000"><br />
&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;conn.Open();<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;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;cmd.ExecuteScalar();<br />
&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;</span><span style="color: #0000ff">catch</span><span style="color: #000000"><br />
&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;</span><span style="color: #0000ff">throw</span><span style="color: #000000">;<br />
&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;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;执行带参数查询,&nbsp;返回单个值<br />
&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: #808080"><br />
</span><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">object</span><span style="color: #000000">&nbsp;ExecuteScalar(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;sql,&nbsp;SqlParameter[]&nbsp;cmdParms)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;(SqlConnection&nbsp;conn&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))<br />
&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;</span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;(SqlCommand&nbsp;cmd&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())<br />
&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;</span><span style="color: #0000ff">try</span><span style="color: #000000"><br />
&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;PrepareCommand(cmd,&nbsp;conn,&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">,&nbsp;sql,&nbsp;cmdParms);<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;</span><span style="color: #0000ff">object</span><span style="color: #000000">&nbsp;obj&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;cmd.ExecuteScalar();<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;cmd.Parameters.Clear();<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;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;obj;<br />
&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;</span><span style="color: #0000ff">catch</span><span style="color: #000000"><br />
&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;</span><span style="color: #0000ff">throw</span><span style="color: #000000">;<br />
&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;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;执行查询,&nbsp;返回多个值<br />
&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: #808080"><br />
</span><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;SqlDataReader&nbsp;ExecuteReader(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;sql)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;(SqlConnection&nbsp;conn&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))<br />
&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;</span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;(SqlCommand&nbsp;cmd&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(sql,&nbsp;conn))<br />
&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;</span><span style="color: #0000ff">try</span><span style="color: #000000"><br />
&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;conn.Open();<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;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;cmd.ExecuteReader();<br />
&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;</span><span style="color: #0000ff">catch</span><span style="color: #000000"><br />
&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;</span><span style="color: #0000ff">throw</span><span style="color: #000000">;<br />
&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;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;执行带参数查询,&nbsp;返回多个值<br />
&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: #808080"><br />
</span><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;SqlDataReader&nbsp;ExecuteReader(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;sql,&nbsp;SqlParameter[]&nbsp;cmdParms)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;(SqlConnection&nbsp;conn&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))<br />
&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;</span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;(SqlCommand&nbsp;cmd&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())<br />
&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;</span><span style="color: #0000ff">try</span><span style="color: #000000"><br />
&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;PrepareCommand(cmd,&nbsp;conn,&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">,&nbsp;sql,&nbsp;cmdParms);<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;SqlDataReader&nbsp;sdr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;cmd.ExecuteReader();<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;cmd.Parameters.Clear();<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;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;sdr;<br />
&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;</span><span style="color: #0000ff">catch</span><span style="color: #000000"><br />
&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;</span><span style="color: #0000ff">throw</span><span style="color: #000000">;<br />
&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;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;执行非查询,&nbsp;返回影响行数<br />
&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: #808080"><br />
</span><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">int</span><span style="color: #000000">&nbsp;ExceuteNonQuery(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;sql,&nbsp;</span><span style="color: #0000ff">params</span><span style="color: #000000">&nbsp;SqlParameter[]&nbsp;cmdParms)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;(SqlConnection&nbsp;conn&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))<br />
&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;</span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;(SqlCommand&nbsp;cmd&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())<br />
&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;</span><span style="color: #0000ff">try</span><span style="color: #000000"><br />
&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;PrepareCommand(cmd,&nbsp;conn,&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">,&nbsp;sql,&nbsp;cmdParms);<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;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;rows&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;cmd.ExecuteNonQuery();<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;cmd.Parameters.Clear();<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;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;rows;<br />
&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;</span><span style="color: #0000ff">catch</span><span style="color: #000000"><br />
&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;</span><span style="color: #0000ff">throw</span><span style="color: #000000">;<br />
&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;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;<br />
&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 />
&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="cmd"&gt;&lt;/param&gt;</span><span style="color: #008000"><br />
&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="conn"&gt;&lt;/param&gt;</span><span style="color: #008000"><br />
&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="trans"&gt;&lt;/param&gt;</span><span style="color: #008000"><br />
&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="cmdText"&gt;&lt;/param&gt;</span><span style="color: #008000"><br />
&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="cmdParms"&gt;&lt;/param&gt;</span><span style="color: #808080"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</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">&nbsp;PrepareCommand(SqlCommand&nbsp;cmd,&nbsp;SqlConnection&nbsp;conn,&nbsp;SqlTransaction&nbsp;trans,&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;cmdText,&nbsp;SqlParameter[]&nbsp;cmdParms)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;((conn.State&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;ConnectionState.Broken)&nbsp;</span><span style="color: #000000">||</span><span style="color: #000000">&nbsp;(conn.State&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;ConnectionState.Closed))<br />
&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;conn.Open();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmd.Connection&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;conn;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmd.CommandText&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;cmdText;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(trans&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmd.Transaction&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;trans;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmd.CommandType&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;CommandType.Text;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(cmdParms&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br />
&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;</span><span style="color: #0000ff">foreach</span><span style="color: #000000">&nbsp;(SqlParameter&nbsp;parm&nbsp;</span><span style="color: #0000ff">in</span><span style="color: #000000">&nbsp;cmdParms)<br />
&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;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;((parm.Direction&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;ParameterDirection.InputOutput&nbsp;</span><span style="color: #000000">||</span><span style="color: #000000">&nbsp;parm.Direction&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;ParameterDirection.Input)&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;(parm.Value&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">))<br />
&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;parm.Value&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;DBNull.Value;<br />
&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;cmd.Parameters.Add(parm);<br />
&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;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
<br />
</span></div>
<img src="aggbug/1401205.html?type=0" width="1" height="1" alt=""/><p>评论: 2　<a href="http://www.cnblogs.com/linsongbin/archive/2009/03/02/1401205.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/linsongbin/archive/2009/03/02/1401205.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56859/" target="_blank">美调查公司称苹果iPad配件成本最低219美元</a><span style="color:gray">(2010-02-10 17:20)</span><br/>· <a href="http://news.cnblogs.com/n/56858/" target="_blank">摩尔庄园：儿童生意密码</a><span style="color:gray">(2010-02-10 17:15)</span><br/>· <a href="http://news.cnblogs.com/n/56857/" target="_blank">Facebook与美国在线合作 整合AIM动态功能</a><span style="color:gray">(2010-02-10 16:41)</span><br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>SqlHelper 数据库操作类</title><link>http://www.cnblogs.com/linsongbin/archive/2009/02/26/1398528.html</link><dc:creator>林松斌</dc:creator><author>林松斌</author><pubDate>Thu, 26 Feb 2009 02:14:00 GMT</pubDate><guid>http://www.cnblogs.com/linsongbin/archive/2009/02/26/1398528.html</guid><description><![CDATA[<p>阅读: 358 评论: 5 作者: <a href="" target="_blank">林松斌</a> 发表于 2009-02-26 10:14 <a href="http://www.cnblogs.com/linsongbin/archive/2009/02/26/1398528.html" target="_blank">原文链接</a></p><p><strong style="font-size: 14pt"></strong>&nbsp;</p>
<p><strong style="font-size: 14pt"></strong>&nbsp;</p>
<p><strong style="font-size: 14pt"><img height="422" alt="" src="http://www.cnblogs.com/images/cnblogs_com/linsongbin/SqlHelper.jpg" width="576" border="0" /></strong></p>
<p><strong style="font-size: 14pt">sqlHelper.cs</strong></p>
<p>&nbsp;</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_101249" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_101249').style.display='none'; document.getElementById('Code_Open_Image_101249').style.display='inline'; document.getElementById('Code_Open_Text_101249').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"><img id="Code_Open_Image_101249" style="display: none" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_101249').style.display='none'; getElementById('Code_Closed_Image_101249').style.display='inline'; getElementById('Code_Closed_Text_101249').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"><span class="cnblogs_code_Collapse" id="Code_Closed_Text_101249">Code</span><span id="Code_Open_Text_101249" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Data;<br />
</span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Data.SqlClient;<br />
<br />
</span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;lsb.DBUtility<br />
{<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;SQL&nbsp;Server&nbsp;数据库操作类<br />
&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: #808080"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;SqlHelper&nbsp;:&nbsp;lsb.DBtility.IDBHelper<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ConnectionString;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;SqlConnection&nbsp;conn;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;SqlDataAdapter&nbsp;da;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;SqlCommand&nbsp;cmd;<br />
<br />
&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">bool</span><span style="color: #000000">&nbsp;GetConnectionString(</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ErrMsg)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ConnectionString&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Data&nbsp;Source=.;Initial&nbsp;Catalog=Hotel;Integrated&nbsp;Security=True</span><span style="color: #800000">"</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&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">bool</span><span style="color: #000000">&nbsp;Open(</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ErrMsg)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000"><br />
&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;conn&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();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;((conn.State&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;ConnectionState.Broken)&nbsp;</span><span style="color: #000000">||</span><span style="color: #000000">&nbsp;(conn.State&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;ConnectionState.Closed))<br />
&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;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(</span><span style="color: #000000">!</span><span style="color: #000000">GetConnectionString(</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;ErrMsg))<br />
&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;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
&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;conn.ConnectionString&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ConnectionString;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.Open();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
&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;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
&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;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(SqlException&nbsp;ex)<br />
&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;</span><span style="color: #0000ff">this</span><span style="color: #000000">.SetErrMsg(ex,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;ErrMsg);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&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">bool</span><span style="color: #000000">&nbsp;Close(</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ErrMsg)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000"><br />
&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;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;((conn.State&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;ConnectionState.Broken)&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;(conn.State&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;ConnectionState.Closed))<br />
&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;conn.Close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
&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;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
&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;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(SqlException&nbsp;ex)<br />
&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;</span><span style="color: #0000ff">this</span><span style="color: #000000">.SetErrMsg(ex,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;ErrMsg);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&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">bool</span><span style="color: #000000">&nbsp;ExceuteNonQuery(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;sql,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ErrMsg)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">throw</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;System.NotImplementedException();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&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">bool</span><span style="color: #000000">&nbsp;GetDataSet(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;sql,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;DataSet&nbsp;ds,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ErrMsg)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">throw</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;System.NotImplementedException();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;SetErrMsg(SqlException&nbsp;ex,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ErrMsg)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ErrMsg&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ex.Message;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></span></div>
<p>&nbsp;</p>
<p><font style="font-size: 18pt" face="Verdana"><strong style="font-size: 14pt">IDBHelper.cs</strong></font></p>
<p><font size="5"></font>&nbsp;</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_101332" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_101332').style.display='none'; document.getElementById('Code_Open_Image_101332').style.display='inline'; document.getElementById('Code_Open_Text_101332').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"><img id="Code_Open_Image_101332" style="display: none" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_101332').style.display='none'; getElementById('Code_Closed_Image_101332').style.display='inline'; getElementById('Code_Closed_Text_101332').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"><span class="cnblogs_code_Collapse" id="Code_Closed_Text_101332">Code</span><span id="Code_Open_Text_101332" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System;<br />
</span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Data;<br />
<br />
</span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;lsb.DBtility<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">interface</span><span style="color: #000000">&nbsp;IDBHelper<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;取得数据库连接字符串<br />
&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 />
&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;returns&gt;&lt;/returns&gt;</span><span style="color: #808080"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;GetConnectionString(</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ErrMsg);<br />
<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;打开数据库连接<br />
&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: #808080"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;Open(</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ErrMsg);<br />
<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;关闭数据库连接<br />
&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: #808080"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;Close(</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ErrMsg);<br />
<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;执行&nbsp;SQL&nbsp;语句&nbsp;无返回结果<br />
&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: #808080"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;ExceuteNonQuery(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;sql,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ErrMsg);<br />
<br />
&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 />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;取得DataSet数据集<br />
&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: #808080"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;GetDataSet(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;sql,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;DataSet&nbsp;ds,&nbsp;</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ErrMsg);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
</span></span></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>不知道这样写好不好， 心里还没有数 ~~</p>
<p>上面的方法中要不要用 ref stirng ErrMsg 呢？</p>
<p>还是把上面的方法改为静态方法?</p>
<img src="aggbug/1398528.html?type=0" width="1" height="1" alt=""/><p>评论: 5　<a href="http://www.cnblogs.com/linsongbin/archive/2009/02/26/1398528.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/linsongbin/archive/2009/02/26/1398528.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56859/" target="_blank">美调查公司称苹果iPad配件成本最低219美元</a><span style="color:gray">(2010-02-10 17:20)</span><br/>· <a href="http://news.cnblogs.com/n/56858/" target="_blank">摩尔庄园：儿童生意密码</a><span style="color:gray">(2010-02-10 17:15)</span><br/>· <a href="http://news.cnblogs.com/n/56857/" target="_blank">Facebook与美国在线合作 整合AIM动态功能</a><span style="color:gray">(2010-02-10 16:41)</span><br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item></channel></rss>