﻿<?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>博客园-sky266</title><link>http://www.cnblogs.com/sky266/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 08 Sep 2008 03:31:22 GMT</lastBuildDate><pubDate>Mon, 08 Sep 2008 03:31:22 GMT</pubDate><ttl>60</ttl><item><title>asp.net mvc  preview 5发布.</title><link>http://www.cnblogs.com/sky266/archive/2008/09/03/1282946.html</link><dc:creator>暗香浮动</dc:creator><author>暗香浮动</author><pubDate>Wed, 03 Sep 2008 06:52:00 GMT</pubDate><guid>http://www.cnblogs.com/sky266/archive/2008/09/03/1282946.html</guid><wfw:comment>http://www.cnblogs.com/sky266/comments/1282946.html</wfw:comment><comments>http://www.cnblogs.com/sky266/archive/2008/09/03/1282946.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/sky266/comments/commentRss/1282946.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sky266/services/trackbacks/1282946.html</trackback:ping><description><![CDATA[<p><a href="http://weblogs.asp.net/scottgu/archive/2008/09/02/asp-net-mvc-preview-5-and-form-posting-scenarios.aspx">http://weblogs.asp.net/scottgu/archive/2008/09/02/asp-net-mvc-preview-5-and-form-posting-scenarios.aspx</a></p>
<p>连接地址.</p>
<img src ="http://www.cnblogs.com/sky266/aggbug/1282946.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42142/" target="_blank">[新闻]Google申请“海上数据中心”专利 可能付诸行动</a>]]></description></item><item><title>移除字符串末尾制定个数字符</title><link>http://www.cnblogs.com/sky266/archive/2008/08/11/1264870.html</link><dc:creator>暗香浮动</dc:creator><author>暗香浮动</author><pubDate>Mon, 11 Aug 2008 01:07:00 GMT</pubDate><guid>http://www.cnblogs.com/sky266/archive/2008/08/11/1264870.html</guid><wfw:comment>http://www.cnblogs.com/sky266/comments/1264870.html</wfw:comment><comments>http://www.cnblogs.com/sky266/archive/2008/08/11/1264870.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/sky266/comments/commentRss/1264870.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sky266/services/trackbacks/1264870.html</trackback:ping><description><![CDATA[<p>移除StringBuilder 末尾制定个数的字符，以前都是适用下面的方法做的</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StringBuilder sb = new StringBuilder();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sb.Append("abcd");<br />
&nbsp;<span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sb.Remove(sb.Length - 3, 3);<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.Write(sb.ToString());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.Read();</p>
<p>其实有更简单的方法的。设定StringBuilder 的长度就ok了。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StringBuilder sb = new StringBuilder();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sb.Append("abcd");<br />
<span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sb.Length--;</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.Write(sb.ToString());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.Read();</p>
<p>&nbsp;</p>
<p>注意string类型的length是只读的。所以不能采用该方法。</p>
<img src ="http://www.cnblogs.com/sky266/aggbug/1264870.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42141/" target="_blank">[新闻]用Google Earth实时追踪人造卫星</a>]]></description></item><item><title>vs使用正则替换复杂代码段</title><link>http://www.cnblogs.com/sky266/archive/2008/07/31/1257402.html</link><dc:creator>暗香浮动</dc:creator><author>暗香浮动</author><pubDate>Thu, 31 Jul 2008 08:30:00 GMT</pubDate><guid>http://www.cnblogs.com/sky266/archive/2008/07/31/1257402.html</guid><wfw:comment>http://www.cnblogs.com/sky266/comments/1257402.html</wfw:comment><comments>http://www.cnblogs.com/sky266/archive/2008/07/31/1257402.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/sky266/comments/commentRss/1257402.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sky266/services/trackbacks/1257402.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<p>因为项目把抛到客户端的异常信息处理统一放在了基类里面处理</p>
<p>需要把项目中这类的代码<br />
try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; User user = UserDTOMapper.MapFromDTO(userdto);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg.Result = DepartmentManager.IsInDepartment(departmentid, user);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg.Message = msg.Result ? Resources.OperationSuccessful : Resources.OperationFailur;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (CustomerException e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg.Message = e.Message;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg.Result = false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>成为这个<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; User user = UserDTOMapper.MapFromDTO(userdto);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg.Result = DepartmentManager.IsInDepartment(departmentid, user);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg.Message = msg.Result ? Resources.OperationSuccessful : Resources.OperationFailur;<br />
</p>
<p>使用了一下vs的正则表达式替换。还真不错。</p>
<p>&nbsp;</p>
<p>try[ \n]*\{<span style="color: #ff0000">{[:a. \=;\n\:\?\\,)\(]*}</span>[ }\n]*catch[ ]*\(CustomerException [e|ce]\)[\n][ {]*[ \n]*[:a. \=;\n]*\}</p>
<p>&nbsp;</p>
<p>红色这部分在替换的地方使用 \1即可。</p>
<p>发现竟然会写正则了。这个可能写的还有点繁琐。先用吧，以后用得多了就熟练了。</p>
<img src ="http://www.cnblogs.com/sky266/aggbug/1257402.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42140/" target="_blank">[新闻]传IBM将以35亿美元至40亿美元收购北电</a>]]></description></item><item><title>EEheap sos</title><link>http://www.cnblogs.com/sky266/archive/2008/07/07/1237448.html</link><dc:creator>暗香浮动</dc:creator><author>暗香浮动</author><pubDate>Mon, 07 Jul 2008 05:32:00 GMT</pubDate><guid>http://www.cnblogs.com/sky266/archive/2008/07/07/1237448.html</guid><wfw:comment>http://www.cnblogs.com/sky266/comments/1237448.html</wfw:comment><comments>http://www.cnblogs.com/sky266/archive/2008/07/07/1237448.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/sky266/comments/commentRss/1237448.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sky266/services/trackbacks/1237448.html</trackback:ping><description><![CDATA[<p><font face="Verdana"><br />
-------------------------------------------------------------------------------<br />
!EEHeap [-gc] [-loader]</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">!EEHeap enumerates process memory consumed by internal CLR data structures. You</font></p>
<p><font face="Verdana">can limit the output by passing "-gc" or "-loader". All information will be </font></p>
<p><font face="Verdana">displayed otherwise.</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">The information for the Garbage Collector lists the ranges of each Segment in </font></p>
<p><font face="Verdana">the managed heap. This can be useful if you believe you have an object pointer.</font></p>
<p><font face="Verdana">If the pointer falls within a segment range given by "!EEHeap -gc", then you do</font></p>
<p><font face="Verdana">have an object pointer, and can attempt to run "!DumpObj" on it.</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">Here is output for a simple program:</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">0:000&gt; !eeheap -gc</font></p>
<p><font face="Verdana">Number of GC Heaps: 1</font></p>
<p><font face="Verdana">generation 0 starts at 0x00a71018</font></p>
<p><font face="Verdana">generation 1 starts at 0x00a7100c</font></p>
<p><font face="Verdana">generation 2 starts at 0x00a71000</font></p>
<p><font face="Verdana">&nbsp;segment&nbsp;&nbsp;&nbsp; begin allocated&nbsp;&nbsp;&nbsp;&nbsp; size</font></p>
<p><font face="Verdana">00a70000 00a71000&nbsp; 00a7e01c 0000d01c(53276)</font></p>
<p><font face="Verdana">Large object heap starts at 0x01a71000</font></p>
<p><font face="Verdana">&nbsp;segment&nbsp;&nbsp;&nbsp; begin allocated&nbsp;&nbsp;&nbsp;&nbsp; size</font></p>
<p><font face="Verdana">01a70000 01a71000&nbsp; 01a76000 0x00005000(20480)</font></p>
<p><font face="Verdana">Total Size&nbsp;&nbsp; 0x1201c(73756)</font></p>
<p><font face="Verdana">------------------------------</font></p>
<p><font face="Verdana">GC Heap Size&nbsp;&nbsp; 0x1201c(73756)</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">So the total size of the GC Heap is only 72K. On a large web server, with </font></p>
<p><font face="Verdana">multiple processors, you can expect to see a GC Heap of 400MB or more. The </font></p>
<p><font face="Verdana">Garbage Collector attempts to collect and reclaim memory only when required to</font></p>
<p><font face="Verdana">by memory pressure for better performance. You can also see the notion of </font></p>
<p><font face="Verdana">"generations," wherein the youngest objects live in generation 0, and </font></p>
<p><font face="Verdana">long-lived objects eventually get "promoted" to generation 2.</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">The loader output lists various private heaps associated with AppDomains. It </font></p>
<p><font face="Verdana">also lists heaps associated with the JIT compiler, and heaps associated with </font></p>
<p><font face="Verdana">Modules. For example:</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">0:000&gt; !EEHeap -loader</font></p>
<p><font face="Verdana">Loader Heap:</font></p>
<p><font face="Verdana">--------------------------------------</font></p>
<p><font face="Verdana">System Domain: 5e0662a0</font></p>
<p><font face="Verdana">LowFrequencyHeap:008f0000(00002000:00001000) Size: 0x00001000 bytes.</font></p>
<p><font face="Verdana">HighFrequencyHeap:008f2000(00008000:00001000) Size: 0x00001000 bytes.</font></p>
<p><font face="Verdana">StubHeap:008fa000(00002000:00001000) Size: 0x00001000 bytes.</font></p>
<p><font face="Verdana">Total size: 0x3000(12288)bytes</font></p>
<p><font face="Verdana">--------------------------------------</font></p>
<p><font face="Verdana">Shared Domain: 5e066970</font></p>
<p><font face="Verdana">LowFrequencyHeap:00920000(00002000:00001000) 03e30000(00010000:00003000) Size: 0x00004000 bytes.</font></p>
<p><font face="Verdana">Wasted: 0x00001000 bytes.</font></p>
<p><font face="Verdana">HighFrequencyHeap:00922000(00008000:00001000) Size: 0x00001000 bytes.</font></p>
<p><font face="Verdana">StubHeap:0092a000(00002000:00001000) Size: 0x00001000 bytes.</font></p>
<p><font face="Verdana">Total size: 0x6000(24576)bytes</font></p>
<p><font face="Verdana">--------------------------------------</font></p>
<p><font face="Verdana">Domain 1: 14f000</font></p>
<p><font face="Verdana">LowFrequencyHeap:00900000(00002000:00001000) 03ee0000(00010000:00003000) Size: 0x00004000 bytes.</font></p>
<p><font face="Verdana">Wasted: 0x00001000 bytes.</font></p>
<p><font face="Verdana">HighFrequencyHeap:00902000(00008000:00003000) Size: 0x00003000 bytes.</font></p>
<p><font face="Verdana">StubHeap:0090a000(00002000:00001000) Size: 0x00001000 bytes.</font></p>
<p><font face="Verdana">Total size: 0x8000(32768)bytes</font></p>
<p><font face="Verdana">--------------------------------------</font></p>
<p><font face="Verdana">Jit code heap:</font></p>
<p><font face="Verdana">Normal JIT:03ef0000(00010000:00002000) Size: 0x00002000 bytes.</font></p>
<p><font face="Verdana">Total size: 0x2000(8192)bytes</font></p>
<p><font face="Verdana">--------------------------------------</font></p>
<p><font face="Verdana">Module Thunk heaps:</font></p>
<p><font face="Verdana">Module 5ba22410: Size: 0x00000000 bytes.</font></p>
<p><font face="Verdana">Module 001c1320: Size: 0x00000000 bytes.</font></p>
<p><font face="Verdana">Module 001c03f0: Size: 0x00000000 bytes.</font></p>
<p><font face="Verdana">Module 001caa38: Size: 0x00000000 bytes.</font></p>
<p><font face="Verdana">Total size: 0x0(0)bytes</font></p>
<p><font face="Verdana">--------------------------------------</font></p>
<p><font face="Verdana">Module Lookup Table heaps:</font></p>
<p><font face="Verdana">Module 5ba22410:Size: 0x00000000 bytes.</font></p>
<p><font face="Verdana">Module 001c1320:Size: 0x00000000 bytes.</font></p>
<p><font face="Verdana">Module 001c03f0:Size: 0x00000000 bytes.</font></p>
<p><font face="Verdana">Module 001caa38:03ec0000(00010000:00002000) Size: 0x00002000 bytes.</font></p>
<p><font face="Verdana">Total size: 0x2000(8192)bytes</font></p>
<p><font face="Verdana">--------------------------------------</font></p>
<p><font face="Verdana">Total LoaderHeap size: 0x15000(86016)bytes</font></p>
<p><font face="Verdana">=======================================</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">By using !EEHeap to keep track of the growth of these private heaps, we are </font></p>
<p><font face="Verdana">able to rule out or include them as a source of a memory leak.</font></p>
 <img src ="http://www.cnblogs.com/sky266/aggbug/1237448.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42139/" target="_blank">[新闻]Google卫星已经开始工作</a>]]></description></item><item><title>jquery初接触</title><link>http://www.cnblogs.com/sky266/archive/2008/02/28/1085100.html</link><dc:creator>暗香浮动</dc:creator><author>暗香浮动</author><pubDate>Thu, 28 Feb 2008 08:36:00 GMT</pubDate><guid>http://www.cnblogs.com/sky266/archive/2008/02/28/1085100.html</guid><wfw:comment>http://www.cnblogs.com/sky266/comments/1085100.html</wfw:comment><comments>http://www.cnblogs.com/sky266/archive/2008/02/28/1085100.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/sky266/comments/commentRss/1085100.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sky266/services/trackbacks/1085100.html</trackback:ping><description><![CDATA[select 操作<br />
获取所选值&nbsp; $("#id").val()<br />
清空 empty();<br />
添加项 $("&lt;option value='a'&gt;aa&lt;/option&gt;")
<img src ="http://www.cnblogs.com/sky266/aggbug/1085100.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42138/" target="_blank">[新闻]Chrome又曝漏洞 “保存为”功能“引狼入室”</a>]]></description></item><item><title>is and as</title><link>http://www.cnblogs.com/sky266/archive/2007/12/24/1013096.html</link><dc:creator>暗香浮动</dc:creator><author>暗香浮动</author><pubDate>Mon, 24 Dec 2007 11:46:00 GMT</pubDate><guid>http://www.cnblogs.com/sky266/archive/2007/12/24/1013096.html</guid><wfw:comment>http://www.cnblogs.com/sky266/comments/1013096.html</wfw:comment><comments>http://www.cnblogs.com/sky266/archive/2007/12/24/1013096.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/sky266/comments/commentRss/1013096.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sky266/services/trackbacks/1013096.html</trackback:ping><description><![CDATA[<font face="Courier New">今天看communicaty 的代码的时候发现了下面这段代码。似乎有点味道。<br />
public T GetDataItem&lt;T&gt;() where T : class<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (this.Weblog is T)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return this.Weblog as T;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
难道有什么深意，如下这么些似乎更好一些。<br />
public T GetDataItem&lt;T&gt;() where T : class<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.Weblog as T;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</font>
<img src ="http://www.cnblogs.com/sky266/aggbug/1013096.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42137/" target="_blank">[新闻]测试版Office Live Workspace发布6月内用户数量达百万</a>]]></description></item><item><title>编程规范，try catch 和返回值的问题</title><link>http://www.cnblogs.com/sky266/archive/2007/12/12/960116.html</link><dc:creator>暗香浮动</dc:creator><author>暗香浮动</author><pubDate>Wed, 12 Dec 2007 04:28:00 GMT</pubDate><guid>http://www.cnblogs.com/sky266/archive/2007/12/12/960116.html</guid><wfw:comment>http://www.cnblogs.com/sky266/comments/960116.html</wfw:comment><comments>http://www.cnblogs.com/sky266/archive/2007/12/12/960116.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/sky266/comments/commentRss/960116.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sky266/services/trackbacks/960116.html</trackback:ping><description><![CDATA[<p><font face="Courier New">自从理解了try catch机制后就有意无意的注意一下优秀的开源软件是如何处理异常捕获和返回值的问题的&nbsp;&nbsp;<br />
<br />
下面这段是community server 上的一段代码。<br />
想研究一下他的异常处理机制<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Code_Closed_Image_105950" onclick="this.style.display='none'; Code_Closed_Text_105950.style.display='none'; Code_Open_Image_105950.style.display='inline'; Code_Open_Text_105950.style.display='inline';" height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"  alt="" /><img id="Code_Open_Image_105950" style="display: none" onclick="this.style.display='none'; Code_Open_Text_105950.style.display='none'; Code_Closed_Image_105950.style.display='inline'; Code_Closed_Text_105950.style.display='inline';" height="16" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"  alt="" /><span id="Code_Closed_Text_105950" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">Code</span><span id="Code_Open_Text_105950" 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" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;SendMessage(MailMessage&nbsp;message)<br />
<img id="Codehighlighter1_56_1358_Open_Image" onclick="this.style.display='none'; Codehighlighter1_56_1358_Open_Text.style.display='none'; Codehighlighter1_56_1358_Closed_Image.style.display='inline'; Codehighlighter1_56_1358_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_56_1358_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_56_1358_Closed_Text.style.display='none'; Codehighlighter1_56_1358_Open_Image.style.display='inline'; Codehighlighter1_56_1358_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_56_1358_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 src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_56_1358_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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_68_727_Open_Image" onclick="this.style.display='none'; Codehighlighter1_68_727_Open_Text.style.display='none'; Codehighlighter1_68_727_Closed_Image.style.display='inline'; Codehighlighter1_68_727_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_68_727_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_68_727_Closed_Text.style.display='none'; Codehighlighter1_68_727_Open_Image.style.display='inline'; Codehighlighter1_68_727_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_68_727_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 src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_68_727_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSContext&nbsp;context&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;CSContext.Current;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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">&nbsp;Replace&nbsp;any&nbsp;LF&nbsp;characters&nbsp;with&nbsp;CR&nbsp;LF</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message.Body&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;message.Body.Replace(</span><span style="color: #000000">"</span><span style="color: #000000">\r</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">.Empty);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message.Body&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;message.Body.Replace(</span><span style="color: #000000">"</span><span style="color: #000000">\n</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">\r\n</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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" align="top"  alt="" />&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">&nbsp;Set&nbsp;the&nbsp;encoding</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message.SubjectEncoding&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Encoding.GetEncoding(context.SiteSettings.EmailSubjectEncoding);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message.BodyEncoding&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Encoding.GetEncoding(context.SiteSettings.EmailEncoding);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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">&nbsp;Set&nbsp;the&nbsp;content&nbsp;base</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message.Headers[</span><span style="color: #000000">"</span><span style="color: #000000">Content-Base</span><span style="color: #000000">"</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;context.SiteSettings.SiteUrl;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message.Headers[</span><span style="color: #000000">"</span><span style="color: #000000">Content-Location</span><span style="color: #000000">"</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;context.SiteSettings.SiteUrl;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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">&nbsp;Send&nbsp;it</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetSmtpClient().Send(message);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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" align="top"  alt="" />&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" align="top"  alt="" />&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;e)<br />
<img id="Codehighlighter1_755_1354_Open_Image" onclick="this.style.display='none'; Codehighlighter1_755_1354_Open_Text.style.display='none'; Codehighlighter1_755_1354_Closed_Image.style.display='inline'; Codehighlighter1_755_1354_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_755_1354_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_755_1354_Closed_Text.style.display='none'; Codehighlighter1_755_1354_Open_Image.style.display='inline'; Codehighlighter1_755_1354_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_755_1354_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 src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_755_1354_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.WriteLine(e.Message&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;(e.InnerException&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;e.InnerException.Message&nbsp;:&nbsp;String.Empty));<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSException&nbsp;fe;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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">(message&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">&amp;&amp;</span><span style="color: #000000">&nbsp;message.To&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/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fe&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;CSException(CSExceptionType.EmailUnableToSend,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">SendMessage&nbsp;Failed&nbsp;To:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;message.To,&nbsp;(e.InnerException&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;e.InnerException&nbsp;:&nbsp;e));<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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">&nbsp;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fe&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;CSException(CSExceptionType.EmailUnableToSend,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">SendMessage&nbsp;Failed&nbsp;Either&nbsp;Message&nbsp;or&nbsp;To&nbsp;was&nbsp;null:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;(e.InnerException&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;e.InnerException&nbsp;:&nbsp;e));<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fe.Log(CSContext.Current.SiteSettings.SettingsID);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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 />
<img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&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/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></span></div>
<br />
这里的处理比较特殊再try catch内部返回bool型的值。跟踪了一下这个方法的调用 发现使用这个方法的地方存在bool判断。这里不便依靠抛出异常来处理。这么处理放到更方便一些。<br />
<br />
</font>
 <img src ="http://www.cnblogs.com/sky266/aggbug/960116.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42136/" target="_blank">[新闻]2008年9月8日科技博客精选</a>]]></description></item><item><title>asp.net 2.0的开源项目收集</title><link>http://www.cnblogs.com/sky266/archive/2007/11/08/953896.html</link><dc:creator>暗香浮动</dc:creator><author>暗香浮动</author><pubDate>Thu, 08 Nov 2007 15:58:00 GMT</pubDate><guid>http://www.cnblogs.com/sky266/archive/2007/11/08/953896.html</guid><wfw:comment>http://www.cnblogs.com/sky266/comments/953896.html</wfw:comment><comments>http://www.cnblogs.com/sky266/archive/2007/11/08/953896.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/sky266/comments/commentRss/953896.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sky266/services/trackbacks/953896.html</trackback:ping><description><![CDATA[摘要: SharpDevelop<br><br>强大的插件系统，通过Addin构建成一个功能齐全的.net开发IDE。核心是AddInTree。跟随这个项目开发许多有用的组件，比如功能文本编辑器（ICSharpCode.TextEditor），SharpZipLib等。<br><br>链接：http://www.icsharpcode.net/&nbsp;&nbsp;<a href='http://www.cnblogs.com/sky266/archive/2007/11/08/953896.html'>阅读全文</a><img src ="http://www.cnblogs.com/sky266/aggbug/953896.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42135/" target="_blank">[新闻]美大学在网上建虚拟校园开门授课</a>]]></description></item><item><title>一道面试题目引发的思考</title><link>http://www.cnblogs.com/sky266/archive/2007/11/02/946035.html</link><dc:creator>暗香浮动</dc:creator><author>暗香浮动</author><pubDate>Fri, 02 Nov 2007 01:59:00 GMT</pubDate><guid>http://www.cnblogs.com/sky266/archive/2007/11/02/946035.html</guid><wfw:comment>http://www.cnblogs.com/sky266/comments/946035.html</wfw:comment><comments>http://www.cnblogs.com/sky266/archive/2007/11/02/946035.html#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://www.cnblogs.com/sky266/comments/commentRss/946035.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sky266/services/trackbacks/946035.html</trackback:ping><description><![CDATA[摘要: 深入理解对象模型对我们理解面向对象的继承多态会大有裨益。<br>一直没找到C#这方面的知识，粗浅的看过一点侯捷C++对象模型，实际分析问题的时候发现还是没有深入理解。<br>无奈到园子里来请教大家。也希望高手前辈能够不吝赐教。如果有意写一些C#对象模型相关的文章我想对于新人来说可谓是莫大的帮助。期待，提前感谢。&nbsp;&nbsp;<a href='http://www.cnblogs.com/sky266/archive/2007/11/02/946035.html'>阅读全文</a><img src ="http://www.cnblogs.com/sky266/aggbug/946035.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42134/" target="_blank">[新闻]JavaScript将成Silverlight的最大对手?</a>]]></description></item><item><title>类内部函数级别的strategy模式</title><link>http://www.cnblogs.com/sky266/archive/2007/10/28/940521.html</link><dc:creator>暗香浮动</dc:creator><author>暗香浮动</author><pubDate>Sun, 28 Oct 2007 09:54:00 GMT</pubDate><guid>http://www.cnblogs.com/sky266/archive/2007/10/28/940521.html</guid><wfw:comment>http://www.cnblogs.com/sky266/comments/940521.html</wfw:comment><comments>http://www.cnblogs.com/sky266/archive/2007/10/28/940521.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/sky266/comments/commentRss/940521.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sky266/services/trackbacks/940521.html</trackback:ping><description><![CDATA[摘要: 使用代理来模拟多态<br><br>今天在写一个把图片处理成HTML文本显示的时候，在两层的循环嵌套内逐个处理像素。<br>循环内部处理像素的时候有多种选择。(比如处理成彩色的还是处理成黑白的和其他多种算法。)<br>如果在这里进行判断的话需要上十万次的相同的与非判断。(彩色的都要判断为真，黑白的相反)<br>虽说影响不是太大，但是本着写程序的时候需要考虑去掉任何可能影响程序性能的非必须操作。<br><br>受设计模式的影响，考虑如果实现成类的话最可能选择的就是strategy模式了。<br>这里一个简单操作。所以考虑使用代理来模拟类的多态。&nbsp;&nbsp;<a href='http://www.cnblogs.com/sky266/archive/2007/10/28/940521.html'>阅读全文</a><img src ="http://www.cnblogs.com/sky266/aggbug/940521.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42133/" target="_blank">[新闻]没有谷歌就活不下去的四个网站</a>]]></description></item></channel></rss>