<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Gabry</title><subtitle type="text">爱生活,爱程序Concentration专注. Teamwork协作. Innovation创新. Openness开放. Never give up坚韧</subtitle><id>http://feed.cnblogs.com/blog/u/49066/rss</id><updated>2011-03-02T02:06:04Z</updated><author><name>imbob</name><uri>http://www.cnblogs.com/imbob/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/imbob/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/49066/rss"/><entry><id>http://www.cnblogs.com/imbob/archive/2011/03/02/1968630.html</id><title type="text">绝对不会有伟大的软件会在平庸的程序员手下实现</title><summary type="text">招聘一个程序员，唯一对你有意义的是他能写出好程序的能力。 很少人像这样去招人，他们更喜欢去挑剔程序员的个人癖好和性格缺点。 我一说出这样的话，人们大量的评论就会批评道：你错了，错了，完全的错了。 好的程序员需要具备沟通交流的技能，他们要有跟他人一起合作的能力。团队里不止你一个人! 事实上，人们会说：最好折中一下对技术上的要求，这样可以找出更能适应企业文化的人。 你不如这样说更合适：找不到那种技术上...</summary><published>2011-03-02T02:06:00Z</published><updated>2011-03-02T02:06:00Z</updated><author><name>imbob</name><uri>http://www.cnblogs.com/imbob/</uri></author><link rel="alternate" href="http://www.cnblogs.com/imbob/archive/2011/03/02/1968630.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/imbob/archive/2011/03/02/1968630.html"/><content type="html">&lt;p&gt;招聘一个程序员，唯一对你有意义的是他能写出好程序的能力。 很少人像这样去招人，他们更喜欢去挑剔程序员的个人癖好和性格缺点。&lt;/p&gt; &lt;p&gt;我一说出这样的话，人们大量的评论就会批评道：你错了，错了，完全的错了。 好的程序员需要具备沟通交流的技能，他们要有跟他人一起合作的能力。团队里不止你一个人! 事实上，人们会说：最好折中一下对技术上的要求，这样可以找出更能适应企业文化的人。&lt;/p&gt; &lt;p&gt;你不如这样说更合适：找不到那种技术上又好、又能适应企业文化的人，我就等着，一直找到为止。&lt;/p&gt; &lt;p&gt;我们很少有敢这样奢侈的公司，也许Google可以这样，就是Google这样的公司也一直处于一个“对招聘程序员感到绝望”的状态中。如果你决定去等，我可以预见到每招到一个程序员你都要等待一个漫长的时期，同时业务会因为缺乏程序员而崩溃，火烧眉毛。&lt;/p&gt; &lt;p&gt;那么，那种更好呢？&lt;/p&gt; &lt;p&gt;让我们来考虑要那些中等或下等的程序员，他们和蔼可亲，而且努力工作。 他们的程序写的不好–他们的程序根本不是按照他们想的那样工作，即使他们做到了，那也是烂程序，很难去维护。他们在基本的功能上挣扎探索，根本解决不了复杂的问题。但是他们却能跟上团队，项目进度每天点都在更新，可以看见他们每天都在座位上奋斗。一切都很好，你的经理会很高兴，因为整个团队看起来在平稳的向前推进。&lt;/p&gt; &lt;p&gt;当发布日期不得不往后推迟，产品Bug多的没法使用，人们会哀叹说软件本来就是很难做，于是投入更多的和蔼可亲的平庸的程序员去修复问题。 事情的结果我想大家都知道。&lt;/p&gt; &lt;p&gt;对于程序员，没有太多的事情可以用和蔼来解决。一个友善的平庸的程序员可以成为业务分析师，技术性的销售员，或着其它的能够利用他的和蔼和他的一点点的技术知识来工作的职位。这样的工作他们会很满意，但这都是在茶话会工作上的，可不是去找出有效的办法做出好的软件。&lt;/p&gt; &lt;p&gt;另外一个选择是，找个程序员，他能做出好的程序，但也许不善于和他人相处，或者老是迟到，或其他。他能开发出按照设计运转的软件，他能把复杂的问题抽象成一个简单的问题。软件好使，可维护，你随时可以按要求修改。&lt;/p&gt; &lt;p&gt;这个世界很真实，有太多的方式都会让我们把事情搞砸，但至少我们是有机会的。人可以给人留下不错的印象。团队可以建设的不错。员工在长时间的为你工作，不错。大量的业务没有按照预定的设计工作，但还是成功了，不错。但是绝对不会有伟大的软件会在平庸的程序员手下实现。.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;When hiring a programmer, the only thing that really matters is their ability to write good code. Finding people who can do this are so rare that it’s generally preferable to excuse any personality quirk or deficiency they have.&lt;br&gt;As soon as I say that, a huge number of people will comment that it’s wrong, wrong, WRONG.Good programmers need to have communication skills and be able to work with others.&amp;nbsp; There is no I in TEAM! In fact, they would argue that it’s better to compromise your skill requirements in order to find the right culture fit.&lt;br&gt;It would be nice if we could say: don’t hire until you find someone with both great technical skill AND great culture fit.&amp;nbsp; Except very few of us have that luxury, except maybe Google, and even they are in a constant state of desperate-to-hire-programmers.&amp;nbsp; If you decide to wait, expect to wait for a very long for each hire, even while your businesses crashes and burns in need of a programmer.&lt;/p&gt; &lt;p&gt;So, which is it?&lt;br&gt;Let’s consider the mediocre to poor programmer who is amiable and works hard. His code isn’t good – it doesn’t really do what it’s supposed to do and even when it does, it’s sloppy and hard to maintain.&amp;nbsp; He struggles with basic functionality and is not able to tackle complex problems at all.&amp;nbsp; But he does get along with the team and the project tracking tool is always up to date and he gives plenty of butt in seat time.&amp;nbsp; You’ll be alright for a while because your managers will be happy to see such a smooth-running team.&lt;br&gt;When releases are slipping and the product is too buggy to use, people will lament that software is just so hard and throw more mild-mannered mediocre programmers at the problem. And we all know how this story ends.&lt;br&gt;For programmers, there is no amount of nice that makes up for getting things done.&amp;nbsp; A friendly mediocre programmer can become a business analyst or a technical salesperson or some other thing where he can leverage his friendliness and his bit of technical knowledge.&amp;nbsp; Working with them may be pleasant but it is a tea party, not a smart way to build good software.&lt;br&gt;The other option is a programmer who delivers great code and maybe doesn’t get along so well with others or comes in late or whatever. He builds an application that does what it is supposed to do and abstracts complex problems into simpler ones.&amp;nbsp; The software works and is maintainable enough to change it when needed.&lt;br&gt;This is the real world and there are plenty of ways that things may still get all screwed up, but at least you have a chance.&amp;nbsp; Good presentation skills are nice.&amp;nbsp; Team building is nice.&amp;nbsp; Employees working long hours for you is nice.&amp;nbsp; Plenty of businesses don’t do these things and still succeed, but no one succeeds at building great software with crappy programmers.&lt;br&gt;The proof is in the code. That is all.&lt;/p&gt;&lt;img src="http://www.cnblogs.com/imbob/aggbug/1968630.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/imbob/archive/2011/03/02/1968630.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/imbob/archive/2010/11/18/1881140.html</id><title type="text">Entity 在.net 3.5中更新,删除数据的方法扩展</title><summary type="text">下面是扩展方法类</summary><published>2010-11-18T12:02:00Z</published><updated>2010-11-18T12:02:00Z</updated><author><name>imbob</name><uri>http://www.cnblogs.com/imbob/</uri></author><link rel="alternate" href="http://www.cnblogs.com/imbob/archive/2010/11/18/1881140.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/imbob/archive/2010/11/18/1881140.html"/><content type="html">&lt;span style="color: blue"&gt;&lt;font face="Consolas"&gt;由于添加实体在生成entity 时会自动生成方法AddToXXXX();所以此扩展不包含添加实体的方法;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;&lt;font face="Consolas"&gt;Demo&lt;/font&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;&lt;font face="Consolas"&gt;public static class Test&lt;/font&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;font face="Consolas"&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;font face="Consolas"&gt;public static void UpdateCustomer()&lt;/font&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;font face="Consolas"&gt;{&lt;/font&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;CRMEntityProvider crmEP=new &lt;span style="color: #2b91af"&gt;CRMEntityProvider();&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;&lt;span style="color: #2b91af"&gt;// 此处的customer实例通常为json/xml 反序列化得到&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2b91af"&gt;Customer customer=&lt;/span&gt;new &lt;span style="color: #2b91af"&gt;Customer(){pk_customer=123,Name=”abc”};&lt;/span&gt;crmEP.UpdateEntity(customer);&lt;span style="color: blue"&gt;&lt;font face="Consolas"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;font face="Consolas"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;CRMEntityProvider&lt;br/&gt;   &lt;/span&gt;{&lt;br/&gt;       &lt;span style="color: blue"&gt;private &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Type &lt;/span&gt;_contextType;&lt;br/&gt;       &lt;span style="color: blue"&gt;public &lt;/span&gt;CRMEntityProvider()&lt;br/&gt;       {&lt;br/&gt;           _contextType = &lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;CRMEntities&lt;/span&gt;);&lt;br/&gt;       }&lt;br/&gt;       &lt;span style="color: blue"&gt;public bool &lt;/span&gt;UpdateEntity&amp;lt;T&amp;gt;(T entity) &lt;span style="color: blue"&gt;where &lt;/span&gt;T : System.Data.Objects.DataClasses.&lt;span style="color: #2b91af"&gt;EntityObject&lt;br/&gt;       &lt;/span&gt;{&lt;br/&gt;           _contextType.UpdateEntity(entity);&lt;br/&gt;           &lt;span style="color: blue"&gt;return true&lt;/span&gt;;&lt;br/&gt;       }&lt;br/&gt;       &lt;span style="color: blue"&gt;public bool &lt;/span&gt;DeleteEntity&amp;lt;T&amp;gt;(T entity) &lt;span style="color: blue"&gt;where &lt;/span&gt;T : System.Data.Objects.DataClasses.&lt;span style="color: #2b91af"&gt;EntityObject&lt;br/&gt;       &lt;/span&gt;{&lt;br/&gt;           _contextType.DeleteEntity(entity);&lt;br/&gt;           &lt;span style="color: blue"&gt;return true&lt;/span&gt;;&lt;br/&gt;       }&lt;br/&gt;   }&lt;br/&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;下面是扩展方法类&lt;/p&gt;&lt;span style="color: blue"&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;&lt;font face="Consolas"&gt;public static class &lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas"&gt;&lt;span style="color: #2b91af"&gt;ObjectContextExtension&lt;br/&gt;&lt;/span&gt;{&lt;br/&gt;    &lt;/font&gt;&lt;span style="color: gray"&gt;&lt;font face="Consolas"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// 将entity添加到ObjectContext&lt;/font&gt;&lt;/span&gt;&lt;span style="color: green"&gt;&lt;br/&gt;&lt;font face="Consolas"&gt;    &lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas"&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    /// &amp;lt;typeparam name="Tentity"&amp;gt;&amp;lt;/typeparam&amp;gt;&lt;br/&gt;    /// &amp;lt;param name="entity"&amp;gt;&amp;lt;/param&amp;gt;&lt;br/&gt;    /// &amp;lt;param name="context"&amp;gt;&amp;lt;/param&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;private static void &lt;/span&gt;AttachEntity&amp;lt;Tentity&amp;gt;(Tentity entity, &lt;span style="color: #2b91af"&gt;ObjectContext &lt;/span&gt;context) &lt;span style="color: blue"&gt;where &lt;/span&gt;Tentity : &lt;/font&gt;&lt;font face="Consolas"&gt;&lt;span style="color: #2b91af"&gt;EntityObject&lt;br/&gt;    &lt;/span&gt;{&lt;br/&gt;        &lt;span style="color: blue"&gt;var &lt;/span&gt;entitySetName = (&lt;span style="color: blue"&gt;from &lt;/span&gt;p &lt;span style="color: blue"&gt;in &lt;/span&gt;context.GetType().GetProperties()&lt;br/&gt;                             &lt;span style="color: blue"&gt;where &lt;/span&gt;p.PropertyType.FullName.Contains(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(Tentity).FullName)&lt;br/&gt;                             &lt;span style="color: blue"&gt;select &lt;/span&gt;p).First().Name;&lt;br/&gt;        &lt;span style="color: blue"&gt;if &lt;/span&gt;(entitySetName == &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br/&gt;            &lt;span style="color: blue"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;NotSupportedException&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"context has not an entity."&lt;/span&gt;);&lt;br/&gt;        &lt;span style="color: blue"&gt;string &lt;/span&gt;entityFullname = context.DefaultContainerName + &lt;span style="color: #a31515"&gt;"." &lt;/span&gt;+ entitySetName;&lt;br/&gt;        context.AttachTo(entitySetName, entity);&lt;br/&gt;    }&lt;br/&gt;&lt;br/&gt;    &lt;/font&gt;&lt;span style="color: gray"&gt;&lt;font face="Consolas"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &lt;/font&gt;&lt;/span&gt;&lt;span style="color: green"&gt;&lt;font face="Consolas"&gt;此处只更新entity的属性值不为null的&lt;br/&gt;    &lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas"&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    /// &amp;lt;typeparam name="Tentity"&amp;gt;&amp;lt;/typeparam&amp;gt;&lt;br/&gt;    /// &amp;lt;param name="contextType"&amp;gt;&amp;lt;/param&amp;gt;&lt;br/&gt;    /// &amp;lt;param name="entity"&amp;gt;&amp;lt;/param&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;public static void &lt;/span&gt;UpdateEntity&amp;lt;Tentity&amp;gt;(&lt;span style="color: blue"&gt;this &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Type &lt;/span&gt;contextType, Tentity entity)&lt;br/&gt;        &lt;span style="color: blue"&gt;where &lt;/span&gt;Tentity : &lt;/font&gt;&lt;font face="Consolas"&gt;&lt;span style="color: #2b91af"&gt;EntityObject&lt;br/&gt;    &lt;/span&gt;{&lt;br/&gt;        &lt;span style="color: blue"&gt;if &lt;/span&gt;(!&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;ObjectContext&lt;/span&gt;).IsAssignableFrom(contextType))&lt;br/&gt;            &lt;span style="color: blue"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;NotSupportedException&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"contextType is not an ObjectContext."&lt;/span&gt;);&lt;br/&gt;        &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;ObjectContext &lt;/span&gt;context=&lt;span style="color: #2b91af"&gt;Activator&lt;/span&gt;.CreateInstance(contextType) &lt;span style="color: blue"&gt;as  &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ObjectContext&lt;/span&gt;)&lt;br/&gt;        {&lt;br/&gt;            AttachEntity&amp;lt;Tentity&amp;gt;(entity, context);&lt;br/&gt;            &lt;span style="color: blue"&gt;var &lt;/span&gt;propertys = &lt;span style="color: blue"&gt;from &lt;/span&gt;p &lt;span style="color: blue"&gt;in typeof&lt;/span&gt;(Tentity).GetProperties(System.Reflection.&lt;span style="color: #2b91af"&gt;BindingFlags&lt;/span&gt;.Instance | System.Reflection.&lt;span style="color: #2b91af"&gt;BindingFlags&lt;/span&gt;.Public)&lt;br/&gt;                            &lt;span style="color: blue"&gt;where &lt;/span&gt;p.GetGetMethod(&lt;span style="color: blue"&gt;false&lt;/span&gt;) != &lt;span style="color: blue"&gt;null &lt;/span&gt;&amp;amp;&amp;amp; p.GetValue(entity, &lt;span style="color: blue"&gt;null&lt;/span&gt;) != &lt;/font&gt;&lt;font face="Consolas"&gt;&lt;span style="color: blue"&gt;null&lt;br/&gt;                            let &lt;/span&gt;attribute = (&lt;span style="color: #2b91af"&gt;EdmScalarPropertyAttribute&lt;/span&gt;)&lt;span style="color: #2b91af"&gt;Attribute&lt;/span&gt;.GetCustomAttribute(p, &lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;EdmScalarPropertyAttribute&lt;/span&gt;))&lt;br/&gt;                            &lt;span style="color: blue"&gt;where &lt;/span&gt;attribute != &lt;span style="color: blue"&gt;null &lt;/span&gt;&amp;amp;&amp;amp; !attribute.EntityKeyProperty&lt;br/&gt;                            &lt;span style="color: blue"&gt;select &lt;/span&gt;p.Name;&lt;br/&gt;&lt;br/&gt;            System.Data.Objects.&lt;span style="color: #2b91af"&gt;ObjectStateEntry &lt;/span&gt;se = context.ObjectStateManager.GetObjectStateEntry(entity);&lt;br/&gt;            &lt;span style="color: blue"&gt;foreach &lt;/span&gt;(&lt;span style="color: blue"&gt;var &lt;/span&gt;item &lt;span style="color: blue"&gt;in &lt;/span&gt;propertys)&lt;br/&gt;            {&lt;br/&gt;                se.SetModifiedProperty(item);&lt;br/&gt;            }&lt;br/&gt;            context.SaveChanges();&lt;br/&gt;        }&lt;br/&gt;&lt;br/&gt;    }&lt;br/&gt;&lt;br/&gt;    &lt;/font&gt;&lt;span style="color: gray"&gt;&lt;font face="Consolas"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;    /// &lt;/font&gt;&lt;/span&gt;&lt;span style="color: green"&gt;&lt;font face="Consolas"&gt;删除&lt;br/&gt;    &lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas"&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    /// &amp;lt;typeparam name="Tentity"&amp;gt;&amp;lt;/typeparam&amp;gt;&lt;br/&gt;    /// &amp;lt;param name="contextType"&amp;gt;&amp;lt;/param&amp;gt;&lt;br/&gt;    /// &amp;lt;param name="entity"&amp;gt;&amp;lt;/param&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;public static void &lt;/span&gt;DeleteEntity&amp;lt;Tentity&amp;gt;(&lt;span style="color: blue"&gt;this &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Type &lt;/span&gt;contextType, Tentity entity)&lt;br/&gt;        &lt;span style="color: blue"&gt;where &lt;/span&gt;Tentity : &lt;/font&gt;&lt;font face="Consolas"&gt;&lt;span style="color: #2b91af"&gt;EntityObject&lt;br/&gt;    &lt;/span&gt;{&lt;br/&gt;         &lt;span style="color: blue"&gt;if &lt;/span&gt;(!&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;ObjectContext&lt;/span&gt;).IsAssignableFrom(contextType))&lt;br/&gt;            &lt;span style="color: blue"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;NotSupportedException&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"contextType is not an ObjectContext."&lt;/span&gt;);&lt;br/&gt;         &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;ObjectContext &lt;/span&gt;context = &lt;span style="color: #2b91af"&gt;Activator&lt;/span&gt;.CreateInstance(contextType) &lt;span style="color: blue"&gt;as &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ObjectContext&lt;/span&gt;)&lt;br/&gt;         {&lt;br/&gt;             AttachEntity&amp;lt;Tentity&amp;gt;(entity, context);&lt;br/&gt;             context.DeleteObject(entity);&lt;br/&gt;             context.SaveChanges();&lt;br/&gt;         }&lt;br/&gt;    }&lt;/font&gt;&lt;img src="http://www.cnblogs.com/imbob/aggbug/1881140.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/imbob/archive/2010/11/18/1881140.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/imbob/archive/2010/11/09/1872372.html</id><title type="text">常用正则汇总</title><summary type="text">&lt;((.|\n)+?)&gt; 匹配所有两端为&lt;&gt;的内容,如果是 &lt;xxxxxx&gt;ddd&gt; 匹配第一个&gt;</summary><published>2010-11-09T02:30:00Z</published><updated>2010-11-09T02:30:00Z</updated><author><name>imbob</name><uri>http://www.cnblogs.com/imbob/</uri></author><link rel="alternate" href="http://www.cnblogs.com/imbob/archive/2010/11/09/1872372.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/imbob/archive/2010/11/09/1872372.html"/><content type="html">&lt;p&gt;&amp;lt;((.|\n)+?)&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 匹配所有两端为&amp;lt;&amp;gt;的内容,如果是&amp;nbsp; &amp;lt;xxxxxx&amp;gt;ddd&amp;gt; 匹配第一个&amp;gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/imbob/aggbug/1872372.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/imbob/archive/2010/11/09/1872372.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/imbob/archive/2010/11/02/1867517.html</id><title type="text">Silverlight 跨线程访问无效</title><summary type="text">此错误在子线程访问UI线程的时候出现, 原因分析: 在silverlight/wpf中只有创建 DispatcherObject 的线程才能访问该对象。例如，一个从主 UI 线程派生的后台线程不能更新在该 UI 线程上创建的内容 例如</summary><published>2010-11-02T12:30:00Z</published><updated>2010-11-02T12:30:00Z</updated><author><name>imbob</name><uri>http://www.cnblogs.com/imbob/</uri></author><link rel="alternate" href="http://www.cnblogs.com/imbob/archive/2010/11/02/1867517.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/imbob/archive/2010/11/02/1867517.html"/><content type="html">&lt;p&gt;此错误在子线程访问UI线程的时候出现,&lt;/p&gt; &lt;p&gt;原因分析:&lt;/p&gt; &lt;p&gt;在silverlight/wpf中只有创建 DispatcherObject 的线程才能访问该对象。例如，一个从主 UI 线程派生的后台线程不能更新在该 UI 线程上创建的内容&lt;/p&gt; &lt;p&gt;例如&lt;/p&gt;&lt;font face="Consolas"&gt;&lt;span style="color: blue"&gt;private void &lt;/span&gt;button1_Click(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;RoutedEventArgs &lt;/span&gt;e)&lt;br/&gt;{&lt;br/&gt;    System.Threading.&lt;span style="color: #2b91af"&gt;Thread &lt;/span&gt;thread=&lt;span style="color: blue"&gt;new &lt;/span&gt;System.Threading.&lt;span style="color: #2b91af"&gt;Thread&lt;/span&gt;(()=&amp;gt;{&lt;br/&gt;        ((&lt;span style="color: #2b91af"&gt;Button&lt;/span&gt;)sender).Content = &lt;span style="color: #a31515"&gt;"Hello"&lt;/span&gt;;&lt;br/&gt;    });&lt;br/&gt;    thread.Start();&lt;br/&gt;    &lt;br/&gt;}&lt;/font&gt;解决办法有以下几种1使用 SynchronizationContext;此方法需要注意的是,System.Threading.&lt;span style="color: #2b91af"&gt;SynchronizationContext&lt;/span&gt;.Current必须在UI线程中调用,如果在子线程中,将返回null;&lt;span style="color: blue"&gt;private void &lt;/span&gt;button1_Click(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;RoutedEventArgs &lt;/span&gt;e)&lt;br/&gt;{&lt;br/&gt;    System.Threading.&lt;span style="color: #2b91af"&gt;SynchronizationContext &lt;/span&gt;sc = System.Threading.&lt;span style="color: #2b91af"&gt;SynchronizationContext&lt;/span&gt;.Current;&lt;br/&gt;    System.Threading.&lt;span style="color: #2b91af"&gt;Thread &lt;/span&gt;thread=&lt;span style="color: blue"&gt;new &lt;/span&gt;System.Threading.&lt;span style="color: #2b91af"&gt;Thread&lt;/span&gt;(()=&amp;gt;{&lt;br/&gt;        sc.Post((o) =&amp;gt; {&lt;br/&gt;            ((&lt;span style="color: #2b91af"&gt;Button&lt;/span&gt;)sender).Content = &lt;span style="color: #a31515"&gt;"Hello"&lt;/span&gt;;&lt;br/&gt;        }, &lt;span style="color: blue"&gt;null&lt;/span&gt;);&lt;br/&gt;       &lt;br/&gt;&lt;br/&gt;    });&lt;br/&gt;    thread.Start();&lt;br/&gt;}&amp;nbsp;2 使用Dispatcher.BeginInvoke方法&lt;br/&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;private void &lt;/span&gt;button1_Click(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;RoutedEventArgs &lt;/span&gt;e)&lt;br/&gt;{&lt;br/&gt;   &lt;br/&gt;    System.Threading.&lt;span style="color: #2b91af"&gt;Thread &lt;/span&gt;thread=&lt;span style="color: blue"&gt;new &lt;/span&gt;System.Threading.&lt;span style="color: #2b91af"&gt;Thread&lt;/span&gt;(()=&amp;gt;{&lt;br/&gt;&lt;br/&gt;        &lt;span style="color: blue"&gt;this&lt;/span&gt;.Dispatcher.BeginInvoke(() =&amp;gt; { ((&lt;span style="color: #2b91af"&gt;Button&lt;/span&gt;)sender).Content = &lt;span style="color: #a31515"&gt;"Hello"&lt;/span&gt;; });&lt;br/&gt;        &lt;br/&gt;    });&lt;br/&gt;    thread.Start();&lt;br/&gt;}&lt;br/&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/pre&gt;3 使用BackgroundWorker 类来代替你的线程类&lt;img src="http://www.cnblogs.com/imbob/aggbug/1867517.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/imbob/archive/2010/11/02/1867517.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/imbob/archive/2010/10/30/1864984.html</id><title type="text">构造函数的执行 及其顺序</title><summary type="text">/// 静态构造函数在程序中只执行一次/// 构造函数的执行顺序 子类(静)-&gt;父类(静)-&gt;父类-&gt;子类/// 调用静态方法之前 只执行其所在类的静态函数</summary><published>2010-10-30T02:58:00Z</published><updated>2010-10-30T02:58:00Z</updated><author><name>imbob</name><uri>http://www.cnblogs.com/imbob/</uri></author><link rel="alternate" href="http://www.cnblogs.com/imbob/archive/2010/10/30/1864984.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/imbob/archive/2010/10/30/1864984.html"/><content type="html">//测试子类实例化时执行的构造函数的顺序&lt;span style="color: blue"&gt;public void &lt;/span&gt;DoConstructorTest()&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color: #2b91af"&gt;ConstructorTest&lt;/span&gt;.StaticMethod();&lt;br/&gt;    &lt;span style="color: #2b91af"&gt;ConstructorTest &lt;/span&gt;b = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ConstructorTest&lt;/span&gt;();&lt;br/&gt;}&lt;br/&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style="color: blue"&gt;namespace &lt;/span&gt;ConsoleApplicationTest&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;&lt;br/&gt;&lt;/span&gt;&lt;p&gt;/// 静态构造函数在程序中只执行一次&lt;br /&gt;/// 构造函数的执行顺序 子类(静)-&amp;gt;父类(静)-&amp;gt;父类-&amp;gt;子类&lt;br /&gt;/// 调用静态方法之前 只执行其所在类的静态函数&lt;br /&gt;&lt;/p&gt;&lt;span style="color: gray"&gt;&lt;/span&gt;&lt;span style="color: green"&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&lt;br/&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ConstructorTestBaseBase&lt;br/&gt;    &lt;/span&gt;{&lt;br/&gt;        &lt;span style="color: blue"&gt;static &lt;/span&gt;ConstructorTestBaseBase()&lt;br/&gt;        {&lt;br/&gt;            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"ConstructorTestBaseBase  static"&lt;/span&gt;);&lt;br/&gt;        }&lt;br/&gt;        &lt;span style="color: blue"&gt;public &lt;/span&gt;ConstructorTestBaseBase()&lt;br/&gt;        {&lt;br/&gt;            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"ConstructorTestBaseBase  "&lt;/span&gt;);&lt;br/&gt;        }&lt;br/&gt;    }&lt;br/&gt;    &lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ConstructorTestBase &lt;/span&gt;: &lt;span style="color: #2b91af"&gt;ConstructorTestBaseBase&lt;br/&gt;    &lt;/span&gt;{&lt;br/&gt;        &lt;span style="color: blue"&gt;static &lt;/span&gt;ConstructorTestBase()&lt;br/&gt;        {&lt;br/&gt;            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"ConstructorTestBase  static"&lt;/span&gt;);&lt;br/&gt;        }&lt;br/&gt;        &lt;span style="color: blue"&gt;public &lt;/span&gt;ConstructorTestBase()&lt;br/&gt;        {&lt;br/&gt;            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"ConstructorTestBase  "&lt;/span&gt;);&lt;br/&gt;        }&lt;br/&gt;        &lt;span style="color: blue"&gt;public static void &lt;/span&gt;StaticMethod()&lt;br/&gt;        {&lt;br/&gt;            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"ConstructorTestBase  StaticMethod"&lt;/span&gt;);&lt;br/&gt;        }&lt;br/&gt;    }&lt;br/&gt;    &lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ConstructorTest &lt;/span&gt;: &lt;span style="color: #2b91af"&gt;ConstructorTestBase&lt;br/&gt;    &lt;/span&gt;{&lt;br/&gt;        &lt;span style="color: blue"&gt;static &lt;/span&gt;ConstructorTest()&lt;br/&gt;        {&lt;br/&gt;            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"ConstructorTest  static"&lt;/span&gt;);&lt;br/&gt;        }&lt;br/&gt;        &lt;span style="color: blue"&gt;public &lt;/span&gt;ConstructorTest()&lt;br/&gt;        {&lt;br/&gt;            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"ConstructorTest  "&lt;/span&gt;);&lt;br/&gt;        }&lt;br/&gt;    }&lt;br/&gt;}&lt;br/&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/imbob/Windows-Live-Writer/6d4c12de57bf_930C/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/imbob/Windows-Live-Writer/6d4c12de57bf_930C/image_thumb.png" width="375" height="208" /&gt;&lt;/a&gt;&lt;img src="http://www.cnblogs.com/imbob/aggbug/1864984.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/imbob/archive/2010/10/30/1864984.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/imbob/archive/2010/10/21/1857249.html</id><title type="text">不写代码(转)</title><summary type="text"/><published>2010-10-21T02:10:00Z</published><updated>2010-10-21T02:10:00Z</updated><author><name>imbob</name><uri>http://www.cnblogs.com/imbob/</uri></author><link rel="alternate" href="http://www.cnblogs.com/imbob/archive/2010/10/21/1857249.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/imbob/archive/2010/10/21/1857249.html"/><content type="html">&lt;img src="http://www.systhinker.com/attachments/2010/OtherFile/2010101812485268.gif"  alt="" /&gt;&lt;img src="http://www.cnblogs.com/imbob/aggbug/1857249.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/imbob/archive/2010/10/21/1857249.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/imbob/archive/2010/10/20/1856869.html</id><title type="text">关于泛型委托 Predicate/Func/Action 的使用</title><summary type="text">使用背景生成一个类实例,如果本地没有该类的DLL文件,则从服务端下载该类</summary><published>2010-10-20T09:14:00Z</published><updated>2010-10-20T09:14:00Z</updated><author><name>imbob</name><uri>http://www.cnblogs.com/imbob/</uri></author><link rel="alternate" href="http://www.cnblogs.com/imbob/archive/2010/10/20/1856869.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/imbob/archive/2010/10/20/1856869.html"/><content type="html">&lt;span class="Apple-style-span" style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 19px; font-size: 13px; color: #4b4b4b; "&gt;&lt;h1 class="postTitle" style="font-size: 14.7px; font-weight: bold; margin-bottom: 10px; "&gt;使用背景&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;生成一个类实例,如果本地没有该类的DLL文件,则从服务端下载该类&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/imbob/aggbug/1856869.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/imbob/archive/2010/10/20/1856869.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/imbob/archive/2010/10/19/1855477.html</id><title type="text">XAML中需要转义的字符</title><summary type="text">例如 &lt;UserCtrl Uri="http://g.cn?user=aaa&amp;pwd=bbb" /&gt;&lt;UserCtrl Uri="http://g.cn?user=aaa&amp;amp;pwd=bbb" /&gt;字符Entity说明“and”符 (&amp;)&amp;amp;必须既用于特性值，又用于元素的内容。大于号 (&gt;)&amp;g...</summary><published>2010-10-19T05:19:00Z</published><updated>2010-10-19T05:19:00Z</updated><author><name>imbob</name><uri>http://www.cnblogs.com/imbob/</uri></author><link rel="alternate" href="http://www.cnblogs.com/imbob/archive/2010/10/19/1855477.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/imbob/archive/2010/10/19/1855477.html"/><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;例如 &lt;s&gt;&amp;lt;UserCtrl Uri="http://g.cn?user=aaa&amp;amp;pwd=bbb" /&amp;gt;&lt;/s&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;lt;UserCtrl Uri="http://g.cn?user=aaa&amp;amp;amp;pwd=bbb" /&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;table style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; border-collapse: collapse; width: 955px; "&gt;&lt;tbody&gt;&lt;tr style="vertical-align: top; "&gt;&lt;th style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #e5e5e5; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; padding-top: 4px; text-align: left; height: 21px; "&gt;&lt;p&gt;&lt;span id="xn10_a956161a69928cd130a889b88082fb6e" class="sentence" style="border-collapse: separate; font-weight: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;字符&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/th&gt;&lt;th style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #e5e5e5; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; padding-top: 4px; text-align: left; height: 21px; "&gt;&lt;p&gt;&lt;span id="xn11_f5e638cc78dd325906c1298a0c21fb6b" class="sentence" style="border-collapse: separate; font-weight: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;Entity&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/th&gt;&lt;th style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #e5e5e5; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; padding-top: 4px; text-align: left; height: 21px; "&gt;&lt;p&gt;&lt;span id="xn12_4358b5009c67d0e31d7fbf1663fcd3bf" class="sentence" style="border-collapse: separate; font-weight: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;说明&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr style="vertical-align: top; "&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn13_dc8e1da1a38088edd9dcc17021217b40" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;&amp;#8220;and&amp;#8221;符 (&amp;amp;)&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn14_2edbcdf80d9a56fa200c4bda6732b4c2" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;&amp;amp;amp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn15_9b03e3d3e3bc022abb5f6de52857954c" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;必须既用于特性值，又用于元素的内容。&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="vertical-align: top; "&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn16_8f97ee63111d8e94f9927d44e80daedc" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;大于号 (&amp;gt;)&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn17_3c39d0ee555c2001acb911f3ee389046" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;&amp;amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn18_3f91c74846f11021c45a676d16632f3d" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;必须用于特性值，但只要前面没有小于号 (&amp;lt;)，就可以接受大于号 (&amp;gt;) 作为元素的内容。&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="vertical-align: top; "&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn19_f695c04091a636b911781cfd608b62a6" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;小于号 (&amp;lt;)&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn20_b7ff3befabc903abd4010972fd9208d3" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;&amp;amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn21_b6787924bd726244e43ae32effc62412" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;必须用于特性值，但只要后面没有大于号 (&amp;gt;)，就可以接受小于号 (&amp;lt;) 作为元素的内容。&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="vertical-align: top; "&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn22_b79a29a38fd8102c1d21d7c909bff8db" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;引号 (")&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn23_da282d29d105d9b54d1210bc363807c6" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;&amp;amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn24_7603ddf461bc9d91c5e80ae1ce348048" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;必须用于特性值，但可接受引号 (") 作为元素的内容。&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="vertical-align: top; "&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn25_69927488dc976395f3250210c72e1c78" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;撇号 (')&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn26_f95ecf5d7896e5a907c2810572493237" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;&amp;amp;apos;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #bbbbbb; border-right-color: #bbbbbb; border-bottom-color: #bbbbbb; border-left-color: #bbbbbb; background-color: #ffffff; padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px; margin-left: 1px; padding-top: 4px; "&gt;&lt;p&gt;&lt;span id="xn27_756d7d0213ab84c5f38315c70e1f6e40" class="sentence" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;font class="Apple-style-span" face="'Segoe UI', Verdana, Arial" size="2"&gt;必须用于特性值，但可接受撇号 (') 作为元素的内容。&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/imbob/aggbug/1855477.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/imbob/archive/2010/10/19/1855477.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/imbob/archive/2010/10/12/1848727.html</id><title type="text">从datareader生成excel</title><summary type="text">public void Export2Excel(Object Sender, EventArgs E) { // 将当前查询的数据导入Excel中 SqlConnection SqlConn = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); // 设置为true,则在当前的数据上追加数据,否则,...</summary><published>2010-10-12T05:40:00Z</published><updated>2010-10-12T05:40:00Z</updated><author><name>imbob</name><uri>http://www.cnblogs.com/imbob/</uri></author><link rel="alternate" href="http://www.cnblogs.com/imbob/archive/2010/10/12/1848727.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/imbob/archive/2010/10/12/1848727.html"/><content type="html">&lt;span class="Apple-style-span" style="font-family: Arial; line-height: 18px; font-size: 12px; "&gt;&lt;table style="table-layout: fixed; width: 850px; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; "&gt;&lt;div id="blog_text" class="cnt" style="font-family: Georgia; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 20px; color: #333333; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;public&amp;nbsp;&amp;nbsp;&amp;nbsp; void&amp;nbsp;&amp;nbsp;&amp;nbsp; Export2Excel(Object&amp;nbsp;&amp;nbsp;&amp;nbsp; Sender,&amp;nbsp;&amp;nbsp;&amp;nbsp; EventArgs&amp;nbsp;&amp;nbsp;&amp;nbsp; E)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp; 将当前查询的数据导入Excel中&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlConnection&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlConn&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp;&amp;nbsp; new&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp; 设置为true,则在当前的数据上追加数据,否则,重写当前数据&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StreamWriter&amp;nbsp;&amp;nbsp;&amp;nbsp; w&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp;&amp;nbsp; new&amp;nbsp;&amp;nbsp;&amp;nbsp; StreamWriter(Server.MapPath("Data\\EmpDimissionResult.xls"),&amp;nbsp;&amp;nbsp;&amp;nbsp; false,&amp;nbsp;&amp;nbsp;&amp;nbsp; Encoding.Default);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlConn.Open();&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; SqlCommand&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlCmd&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlConn.CreateCommand();&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; SqlCmd.CommandText&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp;&amp;nbsp; 你的SQL语句;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; SqlDataReader&amp;nbsp;&amp;nbsp;&amp;nbsp; Reader&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlCmd.ExecuteReader();&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; for&amp;nbsp;&amp;nbsp;&amp;nbsp; (int&amp;nbsp;&amp;nbsp;&amp;nbsp; i&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp;&amp;nbsp; 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; i&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reader.FieldCount;&amp;nbsp;&amp;nbsp;&amp;nbsp; ++i)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; w.Write(Reader.GetName(i));&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; w.Write('\t');&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; w.Write("\r\n");&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; object[]&amp;nbsp;&amp;nbsp;&amp;nbsp; values&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp;&amp;nbsp; new&amp;nbsp;&amp;nbsp;&amp;nbsp; object[Reader.FieldCount];&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; while&amp;nbsp;&amp;nbsp;&amp;nbsp; (Reader.Read())&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reader.GetValues(values);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for&amp;nbsp;&amp;nbsp;&amp;nbsp; (int&amp;nbsp;&amp;nbsp;&amp;nbsp; i&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp;&amp;nbsp; 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; i&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.Length;&amp;nbsp;&amp;nbsp;&amp;nbsp; ++i)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; w.Write(&amp;nbsp;&amp;nbsp;&amp;nbsp; values[i].ToString());&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; w.Write('\t');&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w.Write("\r\n");&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; w.Flush();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; w.Close();&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; Reader.Close();&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; SqlConn.Close();&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; Response.Redirect&amp;nbsp;&amp;nbsp;&amp;nbsp; ("Data\\EmpDimissionResult.xls");&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; w.Close();&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; SqlConn.Close();&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; return;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/imbob/aggbug/1848727.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/imbob/archive/2010/10/12/1848727.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/imbob/archive/2010/09/26/1835957.html</id><title type="text">silverlight 4 知识归类与汇总(三)元素的坐标系与布局面板</title><summary type="text">1 Margin与Padding的逗号语法 通过使用System.Windows.ThicknessConverter来讲XAML语法转化为具体的Thickness Margin=”10” 等价于 xxxx.Margin=new Thickness(10); Margin=”10,5”等价于xxxx.Margin=new Thickness(10,5,10,5); 2 Label 的 Vertic...</summary><published>2010-09-26T06:02:00Z</published><updated>2010-09-26T06:02:00Z</updated><author><name>imbob</name><uri>http://www.cnblogs.com/imbob/</uri></author><link rel="alternate" href="http://www.cnblogs.com/imbob/archive/2010/09/26/1835957.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/imbob/archive/2010/09/26/1835957.html"/><content type="html">&lt;p&gt;&lt;strong&gt;1 Margin与Padding的逗号语法&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;通过使用System.Windows.ThicknessConverter来讲XAML语法转化为具体的Thickness&lt;/p&gt; &lt;p&gt;Margin=”10” 等价于 xxxx.Margin=new Thickness(10);&lt;/p&gt; &lt;p&gt;Margin=”10,5”等价于xxxx.Margin=new Thickness(10,5,10,5);&lt;/p&gt; &lt;p&gt;&lt;strong&gt;2 Label 的 VerticalContentAlignment可以使内容垂直居中,而TextBlock没有此属性&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;3 通过改变Stackpanel的Orientation属性可以实现横竖排版的变换,FlowDirection="RightToLeft"则可以改变其左右的顺序&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/imbob/WindowsLiveWriter/silverlight4_9297/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/imbob/WindowsLiveWriter/silverlight4_9297/image_thumb.png" width="60" height="244"&gt;&lt;/a&gt; &lt;a href="http://images.cnblogs.com/cnblogs_com/imbob/WindowsLiveWriter/silverlight4_9297/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/imbob/WindowsLiveWriter/silverlight4_9297/image_thumb_1.png" width="87" height="244"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;4 image,viewbox等的Stretch属性来设置填充方式&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/imbob/WindowsLiveWriter/silverlight4_9297/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/imbob/WindowsLiveWriter/silverlight4_9297/image_thumb_2.png" width="244" height="163"&gt;&lt;/a&gt; Stretch="None"&lt;/p&gt; &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/imbob/WindowsLiveWriter/silverlight4_9297/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/imbob/WindowsLiveWriter/silverlight4_9297/image_thumb_3.png" width="244" height="123"&gt;&lt;/a&gt; Stretch="Fill"&lt;/p&gt; &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/imbob/WindowsLiveWriter/silverlight4_9297/image_10.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/imbob/WindowsLiveWriter/silverlight4_9297/image_thumb_4.png" width="244" height="141"&gt;&lt;/a&gt; Stretch="Uniform"&lt;/p&gt; &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/imbob/WindowsLiveWriter/silverlight4_9297/image_12.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/imbob/WindowsLiveWriter/silverlight4_9297/image_thumb_5.png" width="244" height="170"&gt;&lt;/a&gt; Stretch="UniformToFill"&lt;/p&gt;&lt;img src="http://www.cnblogs.com/imbob/aggbug/1835957.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/imbob/archive/2010/09/26/1835957.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
