<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-28314047</id><updated>2024-09-16T11:06:28.345-07:00</updated><category term="tools"/><category term="c#"/><category term="freeware"/><category term=".net 3.5"/><category term="LINQ"/><category term="LINQ-to-Objects"/><category term="WPF"/><category term="XAML"/><category term="blogging"/><category term="book"/><category term="database"/><category term="microsoft"/><category term="msbuild"/><category term="powershell"/><category term="silverlight"/><category term="tips"/><title type='text'>Dot Net Project</title><subtitle type='html'>Daily reviews about .Net,tools and programming techniques</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default?alt=atom'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default?alt=atom&amp;start-index=26&amp;max-results=25'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>83</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-28314047.post-2916201417151192346</id><published>2008-04-14T12:22:00.001-07:00</published><updated>2008-04-14T12:22:51.612-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="LINQ"/><category scheme="http://www.blogger.com/atom/ns#" term="WPF"/><title type='text'>Visual LINQ Query Builder - VS 2008 Add-In</title><content type='html'>&lt;p&gt;Visual Linq Query Builder helps you create Linq to SQL queries for your programs(Support&amp;#160; for C# and VB projects is provided) and demonstrates how to create their own Visual Studio 2008 add-in by using WPF. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Here are some screenshots of Visual Linq Query Builder in designer mode&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/tarasn/SAOu5rzxujI/AAAAAAAAAJY/QE7eKgF_6hE/s1600-h/clip_image016_2%5B3%5D.jpg&quot;&gt;&lt;img style=&quot;border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px&quot; height=&quot;484&quot; alt=&quot;clip_image016_2&quot; src=&quot;http://lh4.ggpht.com/tarasn/SAOu87zxukI/AAAAAAAAAJg/_aY0R6CJvx0/clip_image016_2_thumb%5B1%5D.jpg?imgmax=800&quot; width=&quot;580&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/tarasn/SAOu-7zxulI/AAAAAAAAAJo/P_-huJf020s/s1600-h/clip_image018_2%5B3%5D.jpg&quot;&gt;&lt;img style=&quot;border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px&quot; height=&quot;484&quot; alt=&quot;clip_image018_2&quot; src=&quot;http://lh4.ggpht.com/tarasn/SAOvB7zxumI/AAAAAAAAAJw/x08NVvpIunE/clip_image018_2_thumb%5B1%5D.jpg?imgmax=800&quot; width=&quot;580&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Download &lt;a href=&quot;http://code.msdn.microsoft.com/vlinq/Release/ProjectReleases.aspx&quot; target=&quot;_blank&quot;&gt;Visual LINQ Query Builder and documentation&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class=&quot;wlWriterSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a66fbefc-77dc-40a1-b2d6-33a9a06fa04b&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/linq&quot; rel=&quot;tag&quot;&gt;linq&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/wpf&quot; rel=&quot;tag&quot;&gt;wpf&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/ui&quot; rel=&quot;tag&quot;&gt;ui&lt;/a&gt;&lt;/div&gt;  </content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/2916201417151192346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/2916201417151192346' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/2916201417151192346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/2916201417151192346'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2008/04/visual-linq-query-builder-vs-2008-add.html' title='Visual LINQ Query Builder - VS 2008 Add-In'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/tarasn/SAOu87zxukI/AAAAAAAAAJg/_aY0R6CJvx0/s72-c/clip_image016_2_thumb%5B1%5D.jpg?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-6660811977430585087</id><published>2008-03-16T14:02:00.001-07:00</published><updated>2008-03-16T14:02:10.020-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blogging"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>JetBrains Omea goes Open Source</title><content type='html'>&lt;p&gt;Great news for those of you who are interested in good blog reader&lt;/p&gt;  &lt;p&gt;Jetbrains Omea - both source and companion files - is now distributed under GNU GPL v2 License &lt;a href=&quot;http://www.gnu.org/licenses/old-licenses/gpl-2.0.html&quot; target=&quot;_blank&quot;&gt;http://www.gnu.org/licenses/old-licenses/gpl-2.0.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For technical details, visit the dedicated Confluence page: &lt;a href=&quot;http://www.jetbrains.net/confluence/display/OMEA/this+link&quot; target=&quot;_blank&quot;&gt;http://www.jetbrains.net/confluence/display/OMEA/this+link&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class=&quot;wlWriterSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0d42c7d5-acd7-410b-8814-9b6be00ce61d&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/blog&quot; rel=&quot;tag&quot;&gt;blog&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/reader&quot; rel=&quot;tag&quot;&gt;reader&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/jetbrains&quot; rel=&quot;tag&quot;&gt;jetbrains&lt;/a&gt;&lt;/div&gt;  </content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/6660811977430585087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/6660811977430585087' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/6660811977430585087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/6660811977430585087'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2008/03/jetbrains-omea-goes-open-source.html' title='JetBrains Omea goes Open Source'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-7568969319145389040</id><published>2008-03-12T13:37:00.001-07:00</published><updated>2008-03-12T13:37:43.833-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".net 3.5"/><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="tips"/><title type='text'>System.Reflection - how to access and invoke private methods,fields or properties</title><content type='html'>&lt;p&gt;For demonstration purpose I&#39;ve created a class that contains only private methods,fields and properties&lt;/p&gt;  &lt;div style=&quot;border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4&quot;&gt;   &lt;pre style=&quot;padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none&quot;&gt;&lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #008000&quot;&gt;/// Holds blog information&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt; Blog&lt;br /&gt;{&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// Gets the posts count.&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; PostsCount&lt;br /&gt;    {&lt;br /&gt;        get&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; 10000;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// Gets the description.&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; GetDescription()&lt;br /&gt;    {&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #006080&quot;&gt;@&amp;quot;A weblog dedicated to obsessively profiling &lt;br /&gt;reviewing new Internet products and companies&amp;quot;&lt;/span&gt;;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// Changes the name of the blog.&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #008000&quot;&gt;/// &amp;lt;param name=&amp;quot;newName&amp;quot;&amp;gt;The new name.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; ChangeBlogName(&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; newName)&lt;br /&gt;    {&lt;br /&gt;        name = newName;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; name;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; url = &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;http://techcrunch.com&amp;quot;&lt;/span&gt;;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; name = &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;Tech Crunch&amp;quot;&lt;/span&gt;;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;To access private fields I used the System.Reflection.FieldInfo class .For private properties I used System.Reflection.PropertyInfo .Note if you want to work with private members you should use System.Reflection.BindingFlags enum as shown in the example below .So for non-static class members the flags should looks like &lt;strong&gt;BindingFlags.NonPublic | BindingFlags.Instance .&lt;/strong&gt;For static don&#39;t forget to add &lt;strong&gt;BindingFlags.Static .&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4&quot;&gt;&lt;br /&gt;  &lt;pre style=&quot;padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none&quot;&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt; Program&lt;br /&gt;    {&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt; Main(&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;[] args)&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            Blog blog = &lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt; Blog();&lt;br /&gt;            Type type = &lt;span style=&quot;color: #0000ff&quot;&gt;typeof&lt;/span&gt;(Blog);&lt;br /&gt;            &lt;span style=&quot;color: #008000&quot;&gt;//create reflection bindings - will be used to retrive private fields,methods or properties&lt;/span&gt;&lt;br /&gt;            BindingFlags privateBindings = BindingFlags.NonPublic | BindingFlags.Instance;&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #008000&quot;&gt;// retrive private fields from our class&lt;/span&gt;&lt;br /&gt;            FieldInfo[] fieldInfos = type.GetFields(privateBindings);&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #008000&quot;&gt;// retrive private fields metadata&lt;/span&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;foreach&lt;/span&gt; (FieldInfo fieldInfo &lt;span style=&quot;color: #0000ff&quot;&gt;in&lt;/span&gt; fieldInfos)&lt;br /&gt;            {&lt;br /&gt;                Console.WriteLine(fieldInfo.Name +&lt;span style=&quot;color: #006080&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt;+ fieldInfo.GetValue(blog));&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            PropertyInfo [] propertyInfos = type.GetProperties(privateBindings|BindingFlags.Static);&lt;br /&gt;            &lt;span style=&quot;color: #008000&quot;&gt;// retrive private static properties metadata&lt;/span&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;foreach&lt;/span&gt; (PropertyInfo propertyInfo &lt;span style=&quot;color: #0000ff&quot;&gt;in&lt;/span&gt; propertyInfos)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style=&quot;color: #008000&quot;&gt;// note that no instance need for static property to retrive it&#39;s value&lt;/span&gt;&lt;br /&gt;                Console.WriteLine(propertyInfo.Name + &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot; &amp;quot;&lt;/span&gt; + propertyInfo.GetValue(&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;,&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;) );&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #008000&quot;&gt;// call method using MethodInfo object&lt;/span&gt;&lt;br /&gt;            MethodInfo miGetDescription = type.GetMethod(&lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;GetDescription&amp;quot;&lt;/span&gt;, privateBindings);&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;object&lt;/span&gt; retObj = miGetDescription.Invoke(blog, &lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;object&lt;/span&gt;[]{});&lt;br /&gt;            Console.WriteLine(retObj);&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #008000&quot;&gt;// call method using MethodInfo object with input parameters&lt;/span&gt;&lt;br /&gt;            MethodInfo miChangeBlogName = type.GetMethod(&lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;ChangeBlogName&amp;quot;&lt;/span&gt;, privateBindings);&lt;br /&gt;            retObj = miChangeBlogName.Invoke(blog, &lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;object&lt;/span&gt;[] { &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;Yahoo blog&amp;quot;&lt;/span&gt; });&lt;br /&gt;            Console.WriteLine(retObj);&lt;br /&gt;&lt;br /&gt;            Console.ReadLine();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The console output fallows&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lh5.google.com/tarasn/R9g_Ehdu47I/AAAAAAAAAHg/nLerjQN_ynM/image%5B3%5D&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;193&quot; alt=&quot;image&quot; src=&quot;http://lh5.google.com/tarasn/R9g_Fhdu48I/AAAAAAAAAHo/jTtyQ9awqzE/image_thumb%5B1%5D&quot; width=&quot;457&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;wlWriterSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ea0708c8-1ab8-42b0-b8e5-134edd8e469c&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/reflection&quot; rel=&quot;tag&quot;&gt;reflection&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/dotnet&quot; rel=&quot;tag&quot;&gt;dotnet&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/development&quot; rel=&quot;tag&quot;&gt;development&lt;/a&gt;&lt;/div&gt;  </content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/7568969319145389040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/7568969319145389040' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7568969319145389040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7568969319145389040'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2008/03/systemreflection-how-to-access-and.html' title='System.Reflection - how to access and invoke private methods,fields or properties'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-7744131501796090187</id><published>2008-02-26T12:44:00.001-08:00</published><updated>2008-02-26T12:44:43.695-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".net 3.5"/><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>Microsoft® Visual Studio Team System 2008 Database Edition Power Tools</title><content type='html'>&lt;p&gt;Microsoft Visual Studio Team System 2008 Database Edition Power Tools is a set of enhancements and tools that complement and improve the user experience of VSTS Database Edition 2008&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Features     &lt;br /&gt;&lt;/strong&gt;&amp;#8226; ChecksumCondition &amp;#8211; You can use this test condition to verify that the checksum of the data set returned by a database unit test matches the checksum of an expected data set.    &lt;br /&gt;&amp;#8226; ExpectedSchemaTestCondition &amp;#8211; You can use this test condition to verify that the column names and data types of the returned data set match expected values.    &lt;br /&gt;&lt;strong&gt;Data Generator Improvements     &lt;br /&gt;&lt;/strong&gt;&amp;#8226; New Data Generator Wizard &amp;#8211; This new wizard creates a data generation plan that is configured to copy data from a source database. You can use this wizard when you need to copy most of your data from a live source, but need to make small changes to ensure privacy.    &lt;br /&gt;&lt;strong&gt;MSBuild Task Improvements     &lt;br /&gt;&lt;/strong&gt;&amp;#8226; SqlAnalysis Task &amp;#8211; You can use this build task to run T-SQL Static Code Analysis from MSBuild.    &lt;br /&gt;TSQL Static Code Analysis    &lt;br /&gt;&amp;#8226; Static Code Analysis - A precursor to the functionality that will be in future versions of VSTS that will allow you to perform Static Code Analysis on T-SQL code.    &lt;br /&gt;&lt;strong&gt;Refactoring&lt;/strong&gt;    &lt;br /&gt;&amp;#8226; &amp;#8220;Move Schema&amp;#8221; Refactoring - Allows a user to right click on an object and move it to a different but existing schema     &lt;br /&gt;&amp;#8226; SP Rename Generation - Generate a new script that will contain sp_renames for all rename refactored objects that the user can then execute.     &lt;br /&gt;&amp;#8226; Wildcard Expansion - Automatically expand the wildcard in a select to the appropriate columns.    &lt;br /&gt;&amp;#8226; Fully-Qualified Name Support - Automatically inject fully-qualified names when absent in a script    &lt;br /&gt;&amp;#8226; Refactoring extended to Dataset - Refactor into strongly typed dataset definitions    &lt;br /&gt;&lt;strong&gt;MSBuild Tasks     &lt;br /&gt;&lt;/strong&gt;&amp;#8226; Data / Schema Compare Build Tasks - MSBuild tasks that can generate scripts as if the user had run the Data / Schema compare UI    &lt;br /&gt;&lt;strong&gt;Schema View     &lt;br /&gt;&lt;/strong&gt;&amp;#8226; API Access to Schema View - Insert / Update / Delete to schema View and list schema objects and their associated files    &lt;br /&gt;&lt;strong&gt;Dependency Tool Window&lt;/strong&gt;    &lt;br /&gt;&amp;#8226; Dependency Tree - Show the dependencies ( incoming / outgoing ) for selected schema objects in a new tool window    &lt;br /&gt;&lt;strong&gt;Miscellaneous Tools     &lt;br /&gt;&lt;/strong&gt;&amp;#8226; Script Preprocessor - Expand SQLCMD variables and include files and command line version (sqlspp.exe) &amp;amp; an MSBuild version ( wraps the command line version )&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=73ba5038-8e37-4c8e-812b-db14ede2c354&amp;amp;displaylang=en&quot; target=&quot;_blank&quot;&gt;Download Microsoft&amp;#174; Visual Studio Team System 2008 Database Edition Power Tools&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class=&quot;wlWriterSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a386847e-e764-41bd-b9ea-79dc1698c837&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/microsoft&quot; rel=&quot;tag&quot;&gt;microsoft&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/database&quot; rel=&quot;tag&quot;&gt;database&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/tools&quot; rel=&quot;tag&quot;&gt;tools&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/vs2008&quot; rel=&quot;tag&quot;&gt;vs2008&lt;/a&gt;&lt;/div&gt;  </content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/7744131501796090187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/7744131501796090187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7744131501796090187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7744131501796090187'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2008/02/microsoft-visual-studio-team-system.html' title='Microsoft® Visual Studio Team System 2008 Database Edition Power Tools'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-8882459231682823978</id><published>2008-01-13T13:08:00.001-08:00</published><updated>2008-01-13T13:22:21.946-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".net 3.5"/><category scheme="http://www.blogger.com/atom/ns#" term="LINQ-to-Objects"/><title type='text'>LINQ to Objects - 3 basic examples</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The examples below show how you can use aggregate operators in &amp;quot;LINQ to Objects&amp;quot;&lt;/p&gt;  &lt;div&gt;   &lt;pre style=&quot;padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none&quot;&gt;&lt;span style=&quot;color: #008000&quot;&gt;// our test data array&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;[] names = { &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;Sara&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;Bill&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;Alex&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;Don&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;Tom&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;David&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;Dana&amp;quot;&lt;/span&gt; };&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #008000&quot;&gt;// Find names starts with with character &#39;D&#39;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; namesStartsWithD = names.Count( name =&amp;gt; name.StartsWith(&lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;d&amp;quot;&lt;/span&gt;,&lt;br /&gt;    StringComparison.CurrentCultureIgnoreCase ) );&lt;br /&gt;Console.WriteLine(&lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;There are {0} names that start with character &#39;D&#39; in the name list.&amp;quot;&lt;/span&gt;, &lt;br /&gt;    namesStartsWithD);&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #008000&quot;&gt;// Find the longest name&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt; longestName = names.Max( name=&amp;gt;name.Length );&lt;br /&gt;Console.WriteLine(&lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;The longest name is {0} characters long.&amp;quot;&lt;/span&gt;, longestName);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #008000&quot;&gt;// Find the first name that starts with  character &#39;D&#39;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt; firstStartsWithD = names.First(name =&amp;gt; name.StartsWith(&lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;d&amp;quot;&lt;/span&gt;,&lt;br /&gt;   StringComparison.CurrentCultureIgnoreCase)  );&lt;br /&gt;Console.WriteLine(&lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;The first name that start with &#39;D&#39; - {0}.&amp;quot;&lt;/span&gt;, firstStartsWithD);&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lh4.google.com/tarasn/R4qBCoa303I/AAAAAAAAAFY/bXyOPXBQwv8/image%5B2%5D&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px&quot; height=&quot;85&quot; alt=&quot;image&quot; src=&quot;http://lh6.google.com/tarasn/R4p94Ia302I/AAAAAAAAAFg/tgUKy2sLxQs/image_thumb%5B1%5D&quot; width=&quot;562&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/8882459231682823978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/8882459231682823978' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/8882459231682823978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/8882459231682823978'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2008/01/linq-to-objects-3-basic-examples.html' title='LINQ to Objects - 3 basic examples'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-3678011316104556307</id><published>2007-10-10T07:20:00.001-07:00</published><updated>2007-10-10T07:20:31.633-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>SVN via MS IIS</title><content type='html'>&lt;p&gt;&lt;a href=&quot;http://www.svniis.org/&quot; target=&quot;_blank&quot;&gt;SVN-IIS&lt;/a&gt; gives access to Subversion via MS IIS&lt;br&gt;The main goal of this project is to make a direct interface from a SVN repository to WebDav interface running on MS IIS.  &lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;  &lt;ul&gt; &lt;li&gt;Practically no overhead&lt;/li&gt; &lt;li&gt;Tested on IIS5.x and IIS6.x&lt;/li&gt; &lt;li&gt;Tested on http and https (used a test certificate)&lt;/li&gt; &lt;li&gt;Support for HTTP 1.1 Chunked encoding&lt;/li&gt; &lt;li&gt;Runs on Windows XP\2000\2003\Vista&lt;/li&gt; &lt;li&gt;Apache like logging &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Prerequisites  &lt;ul&gt; &lt;li&gt;.NET Framework &lt;/li&gt; &lt;li&gt;Access from the IIS to a running Apache webserver, interfacing a SVN repository &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;[Via &lt;a href=&quot;http://www.dotnetkicks.com/&quot; target=&quot;_blank&quot;&gt;dotnetkicks.com&lt;/a&gt;]&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/3678011316104556307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/3678011316104556307' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/3678011316104556307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/3678011316104556307'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/10/svn-via-ms-iis.html' title='SVN via MS IIS'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-7862538234425771135</id><published>2007-09-19T13:09:00.001-07:00</published><updated>2007-09-19T13:09:01.234-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="silverlight"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><category scheme="http://www.blogger.com/atom/ns#" term="XAML"/><title type='text'>Expression Blend 2 September Preview</title><content type='html'>&lt;p&gt;Expression Blend 2 September Preview is available for download &lt;p&gt;&lt;strong&gt;New features&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Visual Studio 2008 Beta 2 Support  &lt;li&gt;Making Controls from Existing Objects  &lt;li&gt;Split View and XAML Editor Improvements  &lt;li&gt;Storyboard Picker  &lt;li&gt;Storyboard and Keyframe Properties  &lt;li&gt;Vertex Animation  &lt;li&gt;Breadcrumb Bar  &lt;li&gt;Font Embedding and Subsetting  &lt;li&gt;Build Options  &lt;li&gt;Object Manipulation&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;More details available at the &lt;a href=&quot;http://blogs.msdn.com/expression/archive/2007/09/14/expression-blend-2-september-preview-is-now-available.aspx&quot; target=&quot;_blank&quot;&gt;Expression Team&#39;s blog&lt;/a&gt;. &lt;p&gt;Visit the &lt;a href=&quot;http://www.microsoft.com/expression/products/features.aspx?key=blend2preview&quot; target=&quot;_blank&quot;&gt;Expression Blend 2 September Preview&lt;/a&gt; to download and install the latest build.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/7862538234425771135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/7862538234425771135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7862538234425771135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7862538234425771135'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/09/expression-blend-2-september-preview.html' title='Expression Blend 2 September Preview'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-4886912251875573607</id><published>2007-09-15T07:44:00.001-07:00</published><updated>2007-09-15T07:44:33.908-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="freeware"/><title type='text'>The set of useful methods that can make developer life easer</title><content type='html'>&lt;p&gt;Take a look at a list below and you may find a few methods that save your time.The sources&amp;nbsp; and documentation&amp;nbsp;are &lt;a href=&quot;http://authors.aspalliance.com/olson/methods/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Array&lt;/b&gt;  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetMissingItems.aspx&quot; target=&quot;_blank&quot;&gt;GetMissingItems&lt;/a&gt;&lt;br&gt;Gets a list of the items in an array missing from a second array.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/RemoveDups.aspx&quot; target=&quot;_blank&quot;&gt;RemoveDups&lt;/a&gt;&lt;br&gt;Removes any duplicate items for a list of items.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/StringArrayToString.aspx&quot; target=&quot;_blank&quot;&gt;StringArrayToString&lt;/a&gt;&lt;br&gt;Converts an array of strings into a string.  &lt;p&gt;&lt;b&gt;Collection&lt;/b&gt;  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/CollectionToHtmlTable.aspx&quot; target=&quot;_blank&quot;&gt;CollectionToHtmlTable&lt;/a&gt;&lt;br&gt;Converts a collection to an html string having a table.  &lt;p&gt;&lt;b&gt;Color&lt;/b&gt;  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/ColorToHtml.aspx&quot; target=&quot;_blank&quot;&gt;ColorToHtml&lt;/a&gt;&lt;br&gt;Converts a color into an html hexadecimal string.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetColorTable.aspx&quot; target=&quot;_blank&quot;&gt;GetColorTable&lt;/a&gt;&lt;br&gt;Get an html table listing color, html hexadecimal, and color name.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetRandomColor.aspx&quot; target=&quot;_blank&quot;&gt;GetRandomColor&lt;/a&gt;&lt;br&gt;Gets a random color.  &lt;p&gt;&lt;b&gt;DataSet&lt;/b&gt;  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/ArrayToDataTable.aspx&quot; target=&quot;_blank&quot;&gt;ArrayToDataTable&lt;/a&gt;&lt;br&gt;Converts an array of strings to a DataTable.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/DataTable2ExcelString.aspx&quot; target=&quot;_blank&quot;&gt;DataTable2ExcelString&lt;/a&gt;&lt;br&gt;Coverts a DataTable into an Excel string.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/DataTableToArray.aspx&quot; target=&quot;_blank&quot;&gt;DataTableToArray&lt;/a&gt;&lt;br&gt;Creates a string array from a DataTable.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/DataTableToString.aspx&quot; target=&quot;_blank&quot;&gt;DataTableToString&lt;/a&gt;&lt;br&gt;Converts a DataTable to a string with an html table.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/FilterSortData.aspx&quot; target=&quot;_blank&quot;&gt;FilterSortData&lt;/a&gt;&lt;br&gt;Filter and sort a dataset.  &lt;p&gt;&lt;b&gt;DateTime&lt;/b&gt;  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/CountWeekdays.aspx&quot; target=&quot;_blank&quot;&gt;CountWeekdays&lt;/a&gt;&lt;br&gt;Counts the number of weekdays between two dates.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/CountWeekends.aspx&quot; target=&quot;_blank&quot;&gt;CountWeekends&lt;/a&gt;&lt;br&gt;Counts the number of weekends between two dates.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/IsDate.aspx&quot; target=&quot;_blank&quot;&gt;IsDate&lt;/a&gt;&lt;br&gt;Checks whether an object is a date.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/IsWeekDay.aspx&quot; target=&quot;_blank&quot;&gt;IsWeekDay&lt;/a&gt;&lt;br&gt;Returns true of day is weekday, otherwise false.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/IsWeekEnd.aspx&quot; target=&quot;_blank&quot;&gt;IsWeekEnd&lt;/a&gt;&lt;br&gt;Returns true of day is weekend, otherwise false.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/TimeBreakdown.aspx&quot; target=&quot;_blank&quot;&gt;TimeBreakdown&lt;/a&gt;&lt;br&gt;Returns a string that enumerates years, months, days, etc.  &lt;p&gt;&lt;b&gt;File&lt;/b&gt;  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/ArrayToFile.aspx&quot; target=&quot;_blank&quot;&gt;ArrayToFile&lt;/a&gt;&lt;br&gt;Saves a string array as a text file.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/FileToArray.aspx&quot; target=&quot;_blank&quot;&gt;FileToArray&lt;/a&gt;&lt;br&gt;Converts the contents of a file to a string array.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetDirectoryFileInfo.aspx&quot; target=&quot;_blank&quot;&gt;GetDirectoryFileInfo&lt;/a&gt;&lt;br&gt;Gets information about the files in a directory and puts it in an array of strings.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetDirectoryInfo.aspx&quot; target=&quot;_blank&quot;&gt;GetDirectoryInfo&lt;/a&gt;&lt;br&gt;Gets information about a directory and puts it in an array of strings.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetFileInfo.aspx&quot; target=&quot;_blank&quot;&gt;GetFileInfo&lt;/a&gt;&lt;br&gt;Gets information about a file and puts it in an array of strings.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/ReadFromFile.aspx&quot; target=&quot;_blank&quot;&gt;ReadFromFile&lt;/a&gt;&lt;br&gt;Reads from a text file, puts the contents of the file in a string, and returns the string.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/WriteToFile.aspx&quot; target=&quot;_blank&quot;&gt;WriteToFile&lt;/a&gt;&lt;br&gt;Writes the passed in string to a file.  &lt;p&gt;&lt;b&gt;Forms&lt;/b&gt;  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/SetCheckboxesSelect.aspx&quot; target=&quot;_blank&quot;&gt;SetCheckboxesSelect&lt;/a&gt;&lt;br&gt;Adds a check to the checkboxes whose values are passed in.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/SetComboSelectedIndex.aspx&quot; target=&quot;_blank&quot;&gt;SetComboSelectedIndex&lt;/a&gt;&lt;br&gt;Sets which item is selected in a DropDownList.  &lt;p&gt;&lt;b&gt;Math&lt;/b&gt;  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/Triangulate.aspx&quot; target=&quot;_blank&quot;&gt;Triangulate&lt;/a&gt;&lt;br&gt;Sums the numbers from 1 to n.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/UnTriangulate.aspx&quot; target=&quot;_blank&quot;&gt;UnTriangulate&lt;/a&gt;&lt;br&gt;Undoes the Triangulate method.  &lt;p&gt;&lt;b&gt;Network&lt;/b&gt;  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/DNSLookup.aspx&quot; target=&quot;_blank&quot;&gt;DNSLookup&lt;/a&gt;&lt;br&gt;Gets DNS information about a url and puts it in an array of strings.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetHttpHeaders.aspx&quot; target=&quot;_blank&quot;&gt;GetHttpHeaders&lt;/a&gt;&lt;br&gt;Gets Http Headers and puts them in an array of strings.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetImages.aspx&quot; target=&quot;_blank&quot;&gt;GetImages&lt;/a&gt;&lt;br&gt;Gets the images from a webpage.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetLinks.aspx&quot; target=&quot;_blank&quot;&gt;GetLinks&lt;/a&gt;&lt;br&gt;Gets the links from a webpage.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetServerVariables.aspx&quot; target=&quot;_blank&quot;&gt;GetServerVariables&lt;/a&gt;&lt;br&gt;Gets the ServerVariables and puts them in a string.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/ReadWebPage.aspx&quot; target=&quot;_blank&quot;&gt;ReadWebPage&lt;/a&gt;&lt;br&gt;Reads a web page and returns a string with the contents.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/SendMail.aspx&quot; target=&quot;_blank&quot;&gt;SendMail&lt;/a&gt;&lt;br&gt;Sends an e-mail message.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/SendNetSend.aspx&quot; target=&quot;_blank&quot;&gt;SendNetSend&lt;/a&gt;&lt;br&gt;Sends a net send message.  &lt;p&gt;&lt;b&gt;Numbers&lt;/b&gt;  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetDoubles.aspx&quot; target=&quot;_blank&quot;&gt;GetDoubles&lt;/a&gt;&lt;br&gt;Gets an array of double values from the start value to the end value.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetInts.aspx&quot; target=&quot;_blank&quot;&gt;GetInts&lt;/a&gt;&lt;br&gt;Gets an array of int values from the start value to the end value.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetRandomNumber.aspx&quot; target=&quot;_blank&quot;&gt;GetRandomNumber&lt;/a&gt;&lt;br&gt;Gets a random number.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/IsNumeric.aspx&quot; target=&quot;_blank&quot;&gt;IsNumeric&lt;/a&gt;&lt;br&gt;Check whether an object is numeric.  &lt;p&gt;&lt;b&gt;Stats&lt;/b&gt;  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetAvg.aspx&quot; target=&quot;_blank&quot;&gt;GetAvg&lt;/a&gt;&lt;br&gt;Gets the average of an array of doubles or an array of ints.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetCorrelation.aspx&quot; target=&quot;_blank&quot;&gt;GetCorrelation&lt;/a&gt;&lt;br&gt;Gets the Correlation between two arrays of numbers.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetStandardDeviation.aspx&quot; target=&quot;_blank&quot;&gt;GetStandardDeviation&lt;/a&gt;&lt;br&gt;Gets the standard deviation of a list of numbers.  &lt;p&gt;&lt;b&gt;Strings&lt;/b&gt;  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/CountStrings.aspx&quot; target=&quot;_blank&quot;&gt;CountStrings&lt;/a&gt;&lt;br&gt;Count how many times a string appears.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/GetASCII.aspx&quot; target=&quot;_blank&quot;&gt;GetASCII&lt;/a&gt;&lt;br&gt;Gets a string with ASCII characters.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/ProperCase.aspx&quot; target=&quot;_blank&quot;&gt;ProperCase&lt;/a&gt;&lt;br&gt;Converts a string to proper case.  &lt;p&gt;&lt;a href=&quot;http://authors.aspalliance.com/olson/methods/RemoveWhiteSpace.aspx&quot; target=&quot;_blank&quot;&gt;RemoveWhiteSpace&lt;/a&gt;&lt;br&gt;Remove extra white space in a string.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/4886912251875573607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/4886912251875573607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/4886912251875573607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/4886912251875573607'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/09/set-of-useful-methods-that-can-make.html' title='The set of useful methods that can make developer life easer'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-4055450565140408681</id><published>2007-08-21T13:01:00.001-07:00</published><updated>2007-08-21T13:01:44.806-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>Manage your Subversion(SVN) Repositories &amp;amp; Server conviently and effectively</title><content type='html'>&lt;p&gt;This utility provides you with the ability to completely manage your Subversion(SVN) Repositories &amp;amp; Server conviently and effectively without the hassle of command-line tools.  &lt;p&gt;PainlessSVN compliments your current SVN Client and Server software, and is easily deployable.It doesn&#39;t require any time at all to setup for your current environment.&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://www.systemwidgets.com/Portals/0/images/screenshots/PainlessSVNPro/PainlessSVNProMainHalf.png&quot;&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Create and Delete Repositories  &lt;li&gt;Create and Delete Directories  &lt;li&gt;Create and Delete Users  &lt;li&gt;Create Dump Files  &lt;li&gt;Create Hot Copies  &lt;li&gt;Manage access to repositories  &lt;li&gt;It can manage repositories even when svnserve is not running  &lt;li&gt;No command-line switches to remember  &lt;li&gt;Ability to add repositories that reside in different directories.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href=&quot;http://www.systemwidgets.com/Downloads/PainlessSVN/tabid/76/Default.aspx&quot; target=&quot;_blank&quot;&gt;Download PainlessSVN (beta)&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/4055450565140408681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/4055450565140408681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/4055450565140408681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/4055450565140408681'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/08/manage-your-subversionsvn-repositories_21.html' title='Manage your Subversion(SVN) Repositories &amp;amp; Server conviently and effectively'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-5305020826003880594</id><published>2007-08-21T12:42:00.001-07:00</published><updated>2007-08-21T12:42:24.933-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="freeware"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>SketchPath-XPath development and XML analysis tool</title><content type='html'>&lt;p&gt;SketchPath is an XPath development and XML analysis tool. It provides an integrated graphical environment for viewing XML files , developing XPath expressions against them and managing the expressions in file libraries.  &lt;p&gt;File libraries of XPath expressions can be saved and loaded as .NET DataTable XML serialized objects. SketchPath supports XML Packages as used by Open XML and ODF.  &lt;p&gt;This .NET tool was originally designed to assist XSLT developers at all levels, but should equally suit any developers or analysts who currently work with XPath 1.0 or who would benefit from using it to exploit XML. &lt;p&gt;&lt;img height=&quot;131&quot; src=&quot;http://pgfearo.googlepages.com/Capture11.PNG/Capture11-full.jpg&quot; width=&quot;240&quot;&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Easy to install:&amp;nbsp;A single&amp;nbsp; 350KB .EXE file (Needs .NET 2.0 Also)&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/xpathsteptracer&quot; target=&quot;_blank&quot;&gt;XPath Location Step-Tracer&lt;/a&gt; - Predicate tracing&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/auto-generatingxpath&quot; target=&quot;_blank&quot;&gt;Auto-Generate&lt;/a&gt; XPath Locations by selecting from&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/resultspane&quot; target=&quot;_blank&quot;&gt;XPath Result list&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/regularexpressions&quot; target=&quot;_blank&quot;&gt;Regular Expression Result list&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/treeviewpane&quot; target=&quot;_blank&quot;&gt;Element Tree View&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/managingxpathexpressions&quot; target=&quot;_blank&quot;&gt;Element Nodes List&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/xmleditor&quot; target=&quot;_blank&quot;&gt;XML Text Editor&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/managingxpathexpressions&quot; target=&quot;_blank&quot;&gt;XPath Variables List&lt;/a&gt;&lt;/li&gt; &lt;li&gt;XPath Step Tracer&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/expressionslibrary&quot; target=&quot;_blank&quot;&gt;Save XPath expressions&lt;/a&gt; for re-use as variables&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/importingxpath&quot; target=&quot;_blank&quot;&gt;Import XPath Expressions&lt;/a&gt; from an XML source (eg. XSLT)&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/managingxpathexpressions&quot; target=&quot;_blank&quot;&gt;Manage Xpath variables lists in groups&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Save and load XPath variable groups in &lt;a href=&quot;http://pgfearo.googlepages.com/usingxpathlibraries&quot; target=&quot;_blank&quot;&gt;library files&lt;/a&gt;&lt;/li&gt; &lt;li&gt;‘As-You-Type’ bookmarking of nodeset results&amp;nbsp;in &lt;a href=&quot;http://pgfearo.googlepages.com/treeviewpane&quot; target=&quot;_blank&quot;&gt;Element Tree View&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Manage Xpath environment&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/managingnamespaces&quot; target=&quot;_blank&quot;&gt;Manage Namespaces&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Set the &lt;a href=&quot;http://pgfearo.googlepages.com/settingthecontextnode&quot; target=&quot;_blank&quot;&gt;Context Node&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Select the group of &lt;a href=&quot;http://pgfearo.googlepages.com/managingxpathexpressions&quot; target=&quot;_blank&quot;&gt;XPath variables&lt;/a&gt;&amp;nbsp;required&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/auto-completion&quot; target=&quot;_blank&quot;&gt;Auto-Complete&lt;/a&gt;&amp;nbsp;(&#39;Intellisense&#39;) uses &#39;Look-Ahead&#39; to list available location and value nodes&amp;nbsp;when typing&lt;/li&gt; &lt;li&gt;An XPath &lt;a href=&quot;http://pgfearo.googlepages.com/%27assistpane%27&quot; target=&quot;_blank&quot;&gt;&#39;Assist Pane&#39;&lt;/a&gt; provides quick access to all XPath Nodes/Axes and Functions&lt;/li&gt; &lt;li&gt;Syntax checking and colorizing of XPath expressions&lt;/li&gt; &lt;li&gt;Uses .NET System.XML.XPath namespace to evaluate expressions&lt;/li&gt; &lt;li&gt;All XML panes synchronized, viewable panes &amp;amp; behavior controlled by &lt;a href=&quot;http://pgfearo.googlepages.com/sketchpathmodes2&quot; target=&quot;_blank&quot;&gt;modes&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Use &lt;a href=&quot;http://pgfearo.googlepages.com/regularexpressions&quot; target=&quot;_blank&quot;&gt;Regular Expressions&lt;/a&gt; (Regex) to resolve XPath locations&lt;/li&gt; &lt;li&gt;Simple User-Interface with just&amp;nbsp;3 main &lt;a href=&quot;http://pgfearo.googlepages.com/toolbarscreenshots&quot; target=&quot;_blank&quot;&gt;toolbars&lt;/a&gt;&amp;nbsp;with minimal icon-clutter&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/packageinspection&quot; target=&quot;_blank&quot;&gt;Package Inspection&lt;/a&gt; feature for ZIP compressed XML file structures, support includes:&lt;/li&gt; &lt;ol&gt; &lt;li&gt;Word 2007 docx format&lt;/li&gt; &lt;li&gt;Excel 2007 xlsx format&lt;/li&gt; &lt;li&gt;Powerpoint 2007 pptx format&lt;/li&gt; &lt;li&gt;XML Paper Specification xps format&lt;/li&gt; &lt;li&gt;OASIS Open Document Format (ODF)&lt;/li&gt;&lt;/ol&gt; &lt;li&gt;Fast XPath location generation usin an optimized &#39;Element Index&#39; (updated as you type)&lt;/li&gt; &lt;li&gt;Free-flow XML Source&amp;nbsp;&lt;a href=&quot;http://pgfearo.googlepages.com/xmleditor&quot; target=&quot;_blank&quot;&gt;Editor Pane&lt;/a&gt;&amp;nbsp;with &lt;a href=&quot;http://pgfearo.googlepages.com/xmlchecking&quot; target=&quot;_blank&quot;&gt;well-formedness checking&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://pgfearo.googlepages.com/downloads&quot; target=&quot;_blank&quot;&gt;Download SketchPath&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.xmldev.pwp.blueyonder.co.uk/demo.htm&quot; target=&quot;_blank&quot;&gt;Watch Flash Demo of SketchPath&lt;/a&gt;&lt;/p&gt; &lt;p&gt;[Via &lt;a href=&quot;http://www.larkware.com/&quot; target=&quot;_blank&quot;&gt;Larkware News&lt;/a&gt;]&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/5305020826003880594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/5305020826003880594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/5305020826003880594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/5305020826003880594'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/08/sketchpath-xpath-development-and-xml.html' title='SketchPath-XPath development and XML analysis tool'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-1893266302860391262</id><published>2007-08-13T13:17:00.001-07:00</published><updated>2007-08-13T13:17:46.247-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="freeware"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>Refactor! For ASP.NET was released as free download.</title><content type='html'>&lt;p&gt;DevExpress has announced that &lt;a href=&quot;http://community.devexpress.com/blogs/aspnet/archive/2007/08/03/free-refactor-tool-for-asp-net.aspx&quot; target=&quot;_blank&quot;&gt;Refactor! For ASP.NET&lt;/a&gt;&amp;nbsp;is free for download.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Add Validator  &lt;li&gt;Extract ContentPlaceHolder  &lt;li&gt;Extract ContentPlaceHolder (and create master page)  &lt;li&gt;Extract Style (Class)  &lt;li&gt;Extract Style (id)  &lt;li&gt;Extract to UserControl  &lt;li&gt;Move to Code-behind  &lt;li&gt;Move Style Attributes to CSS  &lt;li&gt;Rename Style  &lt;li&gt;Surround with Update Panel&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;You can find more details on each refactoring from&amp;nbsp;Mark&#39;s &lt;a href=&quot;http://www.doitwith.net/2007/05/07/PowerfulFreeDownloadRefactor%21ForASP.NET2.2.aspx&quot; target=&quot;_blank&quot;&gt;post&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Make sure to check out the&amp;nbsp;informative&amp;nbsp;&lt;a href=&quot;http://www.devexpress.com/Products/NET/IDETools/RefactorASP/Presentation/Refactor_for_ASP_NET/&quot; target=&quot;_blank&quot;&gt;12 minute screencast&lt;/a&gt;&amp;nbsp;on the ASP.NET refactoring.&lt;/p&gt; &lt;p&gt;&lt;img height=&quot;91&quot; src=&quot;http://community.devexpress.com/blogs/aspnet/WindowsLiveWriter/FreeRefactorToolForASP.NETstillavailable_240D/image_1.png&quot; width=&quot;240&quot;&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/1893266302860391262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/1893266302860391262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/1893266302860391262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/1893266302860391262'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/08/refactor-for-aspnet-was-released-as.html' title='Refactor! For ASP.NET was released as free download.'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-4561741180840421070</id><published>2007-07-23T08:06:00.003-07:00</published><updated>2007-08-24T05:23:01.490-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>Cyclomatic complexity measurement tool</title><content type='html'>&lt;p&gt;ccm is a tool that analyzes C/C++ and C# code and reports back on Cyclomatic Complexity.Cyclomatic complexity is computed using a graph that describes the control flow of the program. The nodes of the graph correspond to the function of a program. A directed edge connects two nodes if the second function might be executed immediately after the first function. This technique is useful to determine how complex the function of code is.  &lt;p&gt;ccm is a command line tool that accepts the path to directory you want to analyze. Using an /XML switch it will output the result as XML, making it easy to integrate with other tools, such as CruiseControl.NET, etc.  &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;strong&gt;Usage&lt;/strong&gt; &lt;p&gt;Running ccm without any parameters tells you about the available switches.  &lt;p&gt;&lt;em&gt;C:\Dev\ccm\bin&amp;gt;ccm&lt;br&gt;Missing parameters. &lt;/em&gt; &lt;p&gt;&lt;em&gt;Usage:&lt;br&gt;&amp;nbsp;ccm directory [/r] [/xml] [/n:x] [/e:folderlist] [/v]&lt;br&gt;&amp;nbsp;&amp;nbsp; switches:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - act recursively on folders&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xml&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - output into xml&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n:x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - list n-number of metrics (defaults to 30)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - verbose&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e:folderlist - comma-separated list of folders or paths to exclude &lt;/em&gt; &lt;p&gt;&lt;em&gt;ccm.exe ..\..\relativepath-to-sources /n:15&lt;/em&gt; &lt;p&gt;&lt;a href=&quot;http://www.blunck.se/ccm/ccm.zip&quot; target=&quot;_blank&quot;&gt;Download ccm&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/4561741180840421070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/4561741180840421070' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/4561741180840421070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/4561741180840421070'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/07/cyclomatic-complexity-measurement-tool.html' title='Cyclomatic complexity measurement tool'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-7604202761499651900</id><published>2007-07-09T01:37:00.001-07:00</published><updated>2007-07-09T01:37:49.981-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="freeware"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>A list of programs for keyboard maniacs</title><content type='html'>&lt;p&gt;A list of&amp;nbsp; programs for keyboard maniacs - they helps you rapidly find programs or documents from within the depths of the start menu (or other directories). &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;b&gt;AutoHotKey&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.autohotkey.com/&quot; target=&quot;_blank&quot;&gt;http://www.autohotkey.com/&lt;/a&gt;&lt;/u&gt; - excellent Open Source (!) tool with support for scripts and hotkeys. Two scripts add similar start menu searching functionality, &lt;b&gt;Seek&lt;/b&gt; and &lt;b&gt;320mph&lt;/b&gt;. More info can be found on their &lt;u&gt;&lt;a href=&quot;http://www.autohotkey.com/forum/&quot; target=&quot;_blank&quot;&gt;forum&lt;/a&gt;&lt;/u&gt;. &lt;b&gt;&lt;/b&gt; &lt;li&gt;&lt;b&gt;Tray Command Line&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://traycl.chat.ru/&quot; target=&quot;_blank&quot;&gt;http://traycl.chat.ru/&lt;/a&gt;&lt;/u&gt; - shareware, $10&amp;nbsp;&amp;nbsp;Very nice, *tiny* application - the inspiration for this program; does not search for files, but allows you to manually create aliases to launch from they keyboard.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Key Launch&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://software.xfx.net/utilities/kl/index.html&quot; target=&quot;_blank&quot;&gt;http://software.xfx.net/utilities/kl/index.html&lt;/a&gt;&lt;/u&gt; - shareware, $12&amp;nbsp;&amp;nbsp;Similar to this program, incrementally searches through the start menu. Felt a bit clunky to me, and short on configuration options.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;RunIt!&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://keleos.h11.ru/&quot; target=&quot;_blank&quot;&gt;http://keleos.h11.ru/&lt;/a&gt;&lt;/u&gt; - now freeware!&amp;nbsp;&amp;nbsp;Very good program - has similar search functionality as Find and Run Robot and additional features for terminating apps, etc. Runs as a toolbar.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;ShellSearch&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.harmonyhollow.net/ss.shtml&quot; target=&quot;_blank&quot;&gt;http://www.harmonyhollow.net/ss.shtml&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;Very similar in spirit to Find and Run robot, but not quite as fast to use. Free though, and lots of nice other apps by this developer too.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;WinConsole&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://galan.dogmalab.ru/index.php?lang=eng&amp;amp;look=soft&amp;amp;item=winconsole&quot; target=&quot;_blank&quot;&gt;http://galan.dogmalab.ru/index.php?lang=eng&amp;amp;look=soft&amp;amp;item=winconsole&lt;/a&gt;&lt;/u&gt; - shareware $10&amp;nbsp;&amp;nbsp;Similar to Tray Command Line, with support for hotkeys and lots of options.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Meta Launcher&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.codesector.com/commandline.asp&quot; target=&quot;_blank&quot;&gt;http://www.codesector.com/commandline.asp&lt;/a&gt;&lt;/u&gt; - shareware $15&amp;nbsp;&amp;nbsp;Nice looking app which also comes with a startmenu replacer and app launch bar type feature&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;OpenExpert &lt;/b&gt;- &lt;u&gt;&lt;a href=&quot;http://www.baxbex.com/openexpert.html&quot; target=&quot;_blank&quot;&gt;http://www.baxbex.com/openexpert.html&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;Adds context menu to open files with a menu of applications.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;LaunchItNow&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.gemiscorp.com/english/launchitnow.html&quot; target=&quot;_blank&quot;&gt;http://www.gemiscorp.com/english/launchitnow.html&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;Launch bar type app.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Stargate Link Boss&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.lincolnbeach.com/stargate.asp&quot; target=&quot;_blank&quot;&gt;http://www.lincolnbeach.com/stargate.asp&lt;/a&gt;&lt;/u&gt; - shareware $20 Launch panel app.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Shell Search&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.harmonyhollow.net/ss.shtml&quot; target=&quot;_blank&quot;&gt;http://www.harmonyhollow.net/ss.shtml&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;Similar to find and run robot.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;MCL&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://mlin.net/MCL.shtml&quot; target=&quot;_blank&quot;&gt;http://mlin.net/MCL.shtml&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;Similar to Tray Command Line but with some nice addons.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;CMDBar&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.pitrinec.com/pcb_index.htm&quot; target=&quot;_blank&quot;&gt;http://www.pitrinec.com/pcb_index.htm&lt;/a&gt;&lt;/u&gt; - shareware&amp;nbsp;&amp;nbsp;Persistent bar on screen that lets you type commands and has other functions.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Smart Launch&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.pxcompany.com/en/sl/index.shtml&quot; target=&quot;_blank&quot;&gt;http://www.pxcompany.com/en/sl/index.shtml&lt;/a&gt;&lt;/u&gt; - shareware $18&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;1st TurboRun&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.turborun.com&quot; target=&quot;_blank&quot;&gt;http://www.turborun.com&lt;/a&gt;&lt;/u&gt; - shareware $25 &lt;b&gt;&lt;/b&gt; &lt;li&gt;&lt;b&gt;CrossLaunch&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://methodik.pixelarmy.org/readme.html&quot; target=&quot;_blank&quot;&gt;http://methodik.pixelarmy.org/readme.html&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;JetStart&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.codesector.com/jetstart.asp&quot; target=&quot;_blank&quot;&gt;http://www.codesector.com/jetstart.asp&lt;/a&gt;&lt;/u&gt; - shareware $19.95&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;ESP&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.espsw.com/index.php&quot; target=&quot;_blank&quot;&gt;http://www.espsw.com/index.php&lt;/a&gt;&lt;/u&gt; - shareware $10 - very close in functionality and approach.&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;SlickRun&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.bayden.com/SlickRun/&quot; target=&quot;_blank&quot;&gt;http://www.bayden.com/SlickRun/&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Run!&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://crimsonfan.altervista.org/&quot; target=&quot;_blank&quot;&gt;http://crimsonfan.altervista.org/&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;AppRocket&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.candylabs.com/approcket/&quot; target=&quot;_blank&quot;&gt;http://www.candylabs.com/approcket/&lt;/a&gt;&lt;/u&gt; - shareware (.net) $18&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;QuickFind&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://mitglied.lycos.de/quickfind/&quot; target=&quot;_blank&quot;&gt;http://mitglied.lycos.de/quickfind/&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Rock-It-Launcher&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.brunswim.com/RIL/&quot; target=&quot;_blank&quot;&gt;http://www.brunswim.com/RIL/&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;&lt;b&gt;PC-Com&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.boletrice.com/pccom&quot; target=&quot;_blank&quot;&gt;http://www.boletrice.com/pccom&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;&lt;b&gt;Ava Find&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.think-less-do-more.com/avafind/&quot; target=&quot;_blank&quot;&gt;http://www.think-less-do-more.com/avafind/&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;&lt;b&gt;Luanch-n-go&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.tethyssolutions.com/launch-n-go.htm&quot; target=&quot;_blank&quot;&gt;http://www.tethyssolutions.com/launch-n-go.htm&lt;/a&gt;&lt;/u&gt; - shareware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;FileTracer&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.filetracer.com/&quot; target=&quot;_blank&quot;&gt;http://www.filetracer.com/&lt;/a&gt;&lt;/u&gt; - shareware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Task Tracker&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://tasktracker.wordwisesolutions.com/index.html&quot; target=&quot;_blank&quot;&gt;http://tasktracker.wordwisesolutions.com/index.html&lt;/a&gt;&lt;/u&gt; - shareware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Instant Document Search&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.sowsoft.com/document-search.htm&quot; target=&quot;_blank&quot;&gt;http://www.sowsoft.com/document-search.htm&lt;/a&gt;&lt;/u&gt; - shareware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Getchoo&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://alilm.needlemen.com/drupal/?q=node/2&quot; target=&quot;_blank&quot;&gt;http://alilm.needlemen.com/drupal/?q=node/2&lt;/a&gt;&lt;/u&gt; - donationware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;CuteType&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.tooto.com/cutetype/&quot; target=&quot;_blank&quot;&gt;http://www.tooto.com/cutetype/&lt;/a&gt;&lt;/u&gt; - shareware &lt;b&gt;&lt;/b&gt; &lt;li&gt;&lt;b&gt;RunFast&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.idiogensoftware.com/runfast/index.htm&quot; target=&quot;_blank&quot;&gt;http://www.idiogensoftware.com/runfast/index.htm&lt;/a&gt;&lt;/u&gt; - freeware &amp;nbsp;  &lt;li&gt;&lt;b&gt;ZenKey&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.camiweb.com/zenkey/index.htm&quot; target=&quot;_blank&quot;&gt;http://www.camiweb.com/zenkey/index.htm&lt;/a&gt;&lt;/u&gt; - freeware &amp;nbsp;  &lt;li&gt;&lt;b&gt;KbStart&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.kbstart.com/&quot; target=&quot;_blank&quot;&gt;http://www.kbstart.com/&lt;/a&gt;&lt;/u&gt; - shareware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Mayk&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.beotel.net/~darkdst/&quot; target=&quot;_blank&quot;&gt;http://www.beotel.net/~darkdst/&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;Locate&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://locate32.webhop.org/&quot; target=&quot;_blank&quot;&gt;http://locate32.webhop.org/&lt;/a&gt;&lt;/u&gt; - Freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;&lt;b&gt;FastFind&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.guyswithtowels.com/dev/apps/fastfind.html&quot; target=&quot;_blank&quot;&gt;http://www.guyswithtowels.com/dev/apps/fastfind.html&lt;/a&gt;&lt;/u&gt; - Freeware &amp;nbsp;  &lt;li&gt;&lt;b&gt;99 Useful Run Commands&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://www.fixmyxp.com/content/view/20/42/&quot; target=&quot;_blank&quot;&gt;http://www.fixmyxp.com/content/view/20/42/&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;&lt;b&gt;Type and Run&lt;/b&gt; - &lt;u&gt;&lt;a href=&quot;http://galanc.com/index.html?page=5&amp;amp;lang=en&quot; target=&quot;_blank&quot;&gt;http://galanc.com/index.html?page=5&amp;amp;lang=en&lt;/a&gt;&lt;/u&gt; - Freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;Filehand - &lt;u&gt;&lt;a href=&quot;http://www.filehand.com/&quot; target=&quot;_blank&quot;&gt;http://www.filehand.com/&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;Trip - &lt;u&gt;&lt;a href=&quot;http://trip.glenmurphy.com&quot; target=&quot;_blank&quot;&gt;http://trip.glenmurphy.com&lt;/a&gt;&lt;/u&gt; - freeware&amp;nbsp;&amp;nbsp;  &lt;li&gt;Launchy - &lt;u&gt;&lt;a href=&quot;http://www.launchy.net/&quot; target=&quot;_blank&quot;&gt;http://www.launchy.net/&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;VistaGlance - &lt;u&gt;&lt;a href=&quot;http://www.vistaglance.com/vg_screenshots.html&quot; target=&quot;_blank&quot;&gt;http://www.vistaglance.com/vg_screenshots.html&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;Triniaut - &lt;u&gt;&lt;a href=&quot;http://trininaut.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;http://trininaut.sourceforge.net/&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;Faster Than Ever - &lt;u&gt;&lt;a href=&quot;http://www.yazalim.com/products/fte/index.htm&quot; target=&quot;_blank&quot;&gt;http://www.yazalim.com/products/fte/index.htm&lt;/a&gt;&lt;/u&gt; - freeware  &lt;li&gt;yubnub - &lt;u&gt;&lt;a href=&quot;http://www.yubnub.org/&quot; target=&quot;_blank&quot;&gt;http://www.yubnub.org/&lt;/a&gt;&lt;/u&gt; - free web service&amp;nbsp;&amp;nbsp;  &lt;li&gt;Semex - &lt;u&gt;&lt;a href=&quot;http://smx.wickedorange.com/?page_id=3&quot; target=&quot;_blank&quot;&gt;http://smx.wickedorange.com/?page_id=3&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;Direct Access - &lt;u&gt;&lt;a href=&quot;http://www.nagarsoft.com&quot; target=&quot;_blank&quot;&gt;http://www.nagarsoft.com&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;FindOnClick - &lt;u&gt;&lt;a href=&quot;http://www.2brightsparks.com/foc/index.html&quot; target=&quot;_blank&quot;&gt;http://www.2brightsparks.com/foc/index.html&lt;/a&gt;&lt;/u&gt;  &lt;li&gt;&lt;u&gt;&lt;a href=&quot;http://www.zchromosome.com/&quot; target=&quot;_blank&quot;&gt;http://www.zchromosome.com/&lt;/a&gt;&lt;/u&gt;&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/7604202761499651900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/7604202761499651900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7604202761499651900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7604202761499651900'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/07/list-of-programs-for-keyboard-maniacs.html' title='A list of programs for keyboard maniacs'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-8742743076042962682</id><published>2007-07-02T07:15:00.001-07:00</published><updated>2007-07-02T13:02:46.238-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="msbuild"/><title type='text'>Kill specific tasks from MsBuild</title><content type='html'>&lt;p&gt;This is an example that presents the way - how to kill the processes in MSBUILD script.It&#39;s very useful when you need to shutdown some application or services - to prevent the script from failing because the running processes are locked&amp;nbsp;.I use well known OS command &quot;Taskkill&quot; with two arguments /F (Specifies to forcefully terminate process) and /IM (Specifies the image name of the process that has to be terminated. Wildcard &#39;*&#39; can be used to specify all image names).  &lt;p&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#800000&quot;&gt;Project&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt; &lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#ff0000&quot;&gt;DefaultTargets&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt; = &lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;Kill&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;br&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#ff0000&quot;&gt;xmlns&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;=&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&lt;a href=&quot;http://schemas.microsoft.com/developer/msbuild/2003&quot;&gt;http://schemas.microsoft.com/developer/msbuild/2003&lt;/a&gt;&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt; &amp;gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;!--&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#008000&quot;&gt; List of processes to kill &lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;--&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#800000&quot;&gt;ItemGroup&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#800000&quot;&gt;Process&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt; &lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#ff0000&quot;&gt;Include&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;=&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;Process1.exe&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt; /&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#800000&quot;&gt;Process&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt; &lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#ff0000&quot;&gt;Include&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;=&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;Service1.exe&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt; /&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#800000&quot;&gt;Process&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt; &lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#ff0000&quot;&gt;Include&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;=&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;Engine1.exe&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt; /&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;/&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#800000&quot;&gt;ItemGroup&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#800000&quot;&gt;Target&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt; &lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#ff0000&quot;&gt;Name&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt; = &lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;Kill&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#800000&quot;&gt;Exec&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt; &lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#ff0000&quot;&gt;Command&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;=&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;taskkill /F /IM %(Process.Identity)&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt; &lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#ff0000&quot;&gt;IgnoreExitCode&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;=&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;true&lt;/font&gt;&lt;font face=&quot;Courier New&quot;&gt;&quot;&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt; /&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;/&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#800000&quot;&gt;Target&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;lt;/&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#800000&quot;&gt;Project&lt;/font&gt;&lt;font face=&quot;Courier New&quot; color=&quot;#0000ff&quot;&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/8742743076042962682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/8742743076042962682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/8742743076042962682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/8742743076042962682'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/07/kill-specific-tasks-from-msbuild.html' title='Kill specific tasks from MsBuild'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-7972800543703428720</id><published>2007-06-14T12:11:00.001-07:00</published><updated>2007-06-14T12:11:23.221-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="book"/><category scheme="http://www.blogger.com/atom/ns#" term="microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="powershell"/><title type='text'>Free Powershell book with examples</title><content type='html'>&lt;p&gt;MS offers &lt;a href=&quot;http://download.microsoft.com/download/a/9/4/a94270c7-ed16-4c72-8280-658c66315719/Windows%20Powershell%20-%20EN.zip&quot; target=&quot;_blank&quot;&gt;PowerShell book&lt;/a&gt; for free.The book can be used with or without the &lt;a href=&quot;http://download.microsoft.com/download/a/9/4/a94270c7-ed16-4c72-8280-658c66315719/PowerShell-Demofiles.zip&quot; target=&quot;_blank&quot;&gt;demo files&lt;/a&gt; available at Frank Koch&#39;s(MS Technology Advisor ) blog.The book introduces you a short articles with many&amp;nbsp; examples about the interaction with Windows PowerShell as well as some hints how to use other objects like WMI, .NET or COM objects like Excel or IE.&lt;/p&gt; &lt;div class=&quot;wlWriterSmartContent&quot; id=&quot;0767317B-992E-4b12-91E0-4F059A8CECA8:a607c308-6c39-4cb0-84e9-54a0d257fd3c&quot; contenteditable=&quot;false&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati tags: &lt;a href=&quot;http://technorati.com/tags/book&quot; rel=&quot;tag&quot;&gt;book&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tags/microsoft&quot; rel=&quot;tag&quot;&gt;microsoft&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tags/powershell&quot; rel=&quot;tag&quot;&gt;powershell&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/7972800543703428720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/7972800543703428720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7972800543703428720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7972800543703428720'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/06/free-powershell-book-with-examples.html' title='Free Powershell book with examples'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-7052121887556730122</id><published>2007-05-31T11:45:00.001-07:00</published><updated>2007-05-31T11:45:53.087-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><title type='text'>A new beta of JetBrains refactoring tool is available for download</title><content type='html'>&lt;blockquote&gt; &lt;p&gt;Now providing unparalleled support for C#, Visual Basic .NET, XML, XAML, and ASP.NET, including comprehensive cross-language functionality.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;New Features&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Unit Test Explorer  &lt;li&gt;Go To Symbol  &lt;li&gt;To-do List  &lt;li&gt;XML and XAML Support  &lt;ul&gt; &lt;li&gt;Various quick-fixes and context actions in XML  &lt;li&gt;Code completion in XML&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Code Analysis for C# Code&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;ReSharper 3.0 Beta is only a pre-release build of ReSharper 3.0. The final&amp;nbsp;version 3.0 release is scheduled for the end of June, 2007. If you purchase &lt;/font&gt;&lt;a href=&quot;http://www.jetbrains.com/resharper20/buy/&quot;&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;ReSharper for VS .NET 2003&lt;/font&gt;&lt;/a&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt; or &lt;/font&gt;&lt;a href=&quot;http://www.jetbrains.com/resharper/buy/&quot;&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;ReSharper for VS 2005&lt;/font&gt;&lt;/a&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt; now, you will qualify for free upgrade to&amp;nbsp;version 3.0 when it becomes available.&lt;/font&gt;  &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;&lt;a href=&quot;http://download.jetbrains.com/resharper/ReSharperSetup.3.0.beta.msi&quot; target=&quot;_blank&quot;&gt;Download Full Edition&lt;/a&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;&lt;a href=&quot;http://download.jetbrains.com/resharper/ReSharperSetup.3.0.CSharp.beta.msi&quot; target=&quot;_blank&quot;&gt;Download C# Edition&lt;/a&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;&lt;a href=&quot;http://www.jetbrains.com/img/button_dl.gif&quot; target=&quot;_blank&quot;&gt;Download Visual Basic Edition&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/7052121887556730122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/7052121887556730122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7052121887556730122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/7052121887556730122'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/05/new-beta-of-jetbrains-refactoring-tool.html' title='A new beta of JetBrains refactoring tool is available for download'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-3176562352513290535</id><published>2007-05-30T12:54:00.001-07:00</published><updated>2007-05-30T12:57:09.576-07:00</updated><title type='text'>System.Reflection - FieldInfo class</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;A FieldInfo class provides detailed information about a single field of a class or an interface. The reflected field may be a static field or an instance field. The FieldInfoSpy example shows how to obtain the field information of a class including the access modifiers, type etc: &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class=&quot;wlWriterSmartContent&quot; id=&quot;57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:352da487-b0ad-488a-a1ff-0afd86ec124b&quot; contenteditable=&quot;false&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;&lt;pre style=&quot;background-color:White;&quot;&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; System;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; System.Reflection;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;namespace&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;internal&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; FieldInfoSpy&lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;private&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; Main(&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;[] args)&lt;br /&gt;{&lt;br /&gt;    Type type &lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;typeof&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; (Car);&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;query type &lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;    FieldInfo[] fieldInfos &lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; type.GetFields(&lt;br /&gt;        &lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;Specifies that instance members are to be included in the search. &lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;        BindingFlags.Instance &lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;Specifies that non-public members are to be included in the search. &lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;        BindingFlags.NonPublic &lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;Specifies that public members are to be included in the search. &lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;        BindingFlags.Public &lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;Specifies that static members are to be included in the search. &lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;        BindingFlags.Static); &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;foreach&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; (FieldInfo fieldInfo &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; fieldInfos)&lt;br /&gt;    {&lt;br /&gt;        Console.WriteLine(&lt;br /&gt;            &lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;Name:{0},Type:{1},Public:{2},Static:{3},Readonly:{4}&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;,&lt;br /&gt;                          fieldInfo.Name,&lt;br /&gt;                          fieldInfo.FieldType.FullName,&lt;br /&gt;                          fieldInfo.IsPublic,&lt;br /&gt;                          fieldInfo.IsStatic,&lt;br /&gt;                          fieldInfo.IsInitOnly&lt;br /&gt;            );&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    Console.ReadLine();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;internal&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; Car&lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;bool&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; broken;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;private&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; vendor;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;readonly&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; owner;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;private&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; age;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; name;&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;A sample of the output follows:&lt;br /&gt;&lt;p&gt;&lt;font color=&quot;#808080&quot; size=&quot;2&quot;&gt;Name:broken,Type:System.Boolean,Public:True,Static:False,Readonly:False&lt;br&gt;Name:owner,Type:System.String,Public:True,Static:False,Readonly:True&lt;br&gt;Name:age,Type:System.Int32,Public:False,Static:False,Readonly:False&lt;br&gt;Name:name,Type:System.String,Public:False,Static:False,Readonly:False&lt;br&gt;Name:vendor,Type:System.String,Public:False,Static:True,Readonly:False&lt;/font&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/3176562352513290535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/3176562352513290535' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/3176562352513290535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/3176562352513290535'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/05/systemreflection-fieldinfo-class.html' title='System.Reflection - FieldInfo class'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-2981269600506390865</id><published>2007-05-24T10:26:00.001-07:00</published><updated>2007-05-24T10:26:59.420-07:00</updated><title type='text'>New open source .NET blogging platform - BlogEngine.NET 1.0 Released</title><content type='html'>&lt;p&gt;Open source .NET blogging platform with nice set of features is available for download &lt;a href=&quot;http://www.dotnetblogengine.net/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Variety of widgets&lt;/li&gt; &lt;li&gt;Commenting system &lt;/li&gt; &lt;li&gt;Syndication support (RSS, Atom, and Feedburner)&lt;/li&gt; &lt;li&gt;Support for Metaweblog API&lt;/li&gt; &lt;li&gt;Support for Trackbacks / Pingbacks&lt;/li&gt; &lt;li&gt;Blog search&lt;/li&gt; &lt;li&gt;Referrer stats&lt;/li&gt; &lt;li&gt;Theme creation&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.dotnetblogengine.net/wiki/&quot; target=&quot;_blank&quot;&gt;BlogEngine.NET Documentation Wiki&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;[Via &lt;a href=&quot;http://www.nyveldt.com/blog/post.aspx?id=eb0f73bb-66ae-49fb-8875-96f239f072bf&quot; target=&quot;_blank&quot;&gt;Al Nyveldt blog&lt;/a&gt;]&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/2981269600506390865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/2981269600506390865' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/2981269600506390865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/2981269600506390865'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/05/new-open-source-net-blogging-platform.html' title='New open source .NET blogging platform - BlogEngine.NET 1.0 Released'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-552630580436874603</id><published>2007-05-14T15:12:00.001-07:00</published><updated>2007-05-14T15:12:25.717-07:00</updated><title type='text'>A Spy++ like utility for WPF applications</title><content type='html'>&lt;p&gt;The nice tool called Snoop that I found useful while developing and debugging WPF Applications.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Browse the visual tree of running WPF applications.&lt;/li&gt; &lt;li&gt;Inspect properties of elements at runtime.&lt;/li&gt; &lt;li&gt;Edit properties of elements at runtime.&lt;/li&gt; &lt;li&gt;Inspect RoutedEvents that are occurring, including the elements that handle them.&lt;/li&gt; &lt;li&gt;Magnify sections of the User Interface.&lt;/li&gt; &lt;li&gt;Locate&amp;nbsp;and debug binding bugs.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://blois.us/Snoop&quot; target=&quot;_blank&quot;&gt;Documentation&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://blois.us/Snoop/Snoop.zip&quot; target=&quot;_blank&quot;&gt;Download&lt;/a&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class=&quot;wlWriterSmartContent&quot; id=&quot;0767317B-992E-4b12-91E0-4F059A8CECA8:c9e576a9-47db-4ce9-a283-7004538d6a1c&quot; contenteditable=&quot;false&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati tags: &lt;a href=&quot;http://technorati.com/tags/WPF&quot; rel=&quot;tag&quot;&gt;WPF&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tags/XAML&quot; rel=&quot;tag&quot;&gt;XAML&lt;/a&gt;, &lt;a href=&quot;http://technorati.com/tags/dotnet&quot; rel=&quot;tag&quot;&gt;dotnet&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/552630580436874603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/552630580436874603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/552630580436874603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/552630580436874603'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/05/spy-like-utility-for-wpf-applications.html' title='A Spy++ like utility for WPF applications'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-2017945555310208559</id><published>2007-03-28T15:48:00.001-07:00</published><updated>2007-03-28T15:48:18.450-07:00</updated><title type='text'>Rhino Mocks 3.0 is available for download</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;A dynamic mock object framework for the .Net platform. It&#39;s purpose is to ease testing by allowing the developer to create mock implementations of custom objects and verify the interactions using unit testing.  &lt;p&gt;Rhino.Mocks is an attempt to create easier way to build and use mock objects and allow better refactoring support from the current tools. It&#39;s a hybrid approach between the pure Record/Replay of EasyMock.Net&#39;s model and NMock&#39;s expectation based model. Rhino.Mocks originated from EasyMock.Net and attempt to improve on their model to create easy to use and power mocking framework. It&#39;s free for use and modification for open source and commercial software.  &lt;p&gt;Licensing: Rhino Mocks is Free Software which is released under the BSD license.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;New features:&lt;/strong&gt;  &lt;ul&gt; &lt;li&gt;Generic Methods (at last!)  &lt;li&gt;Support arrays of value types as out parameters  &lt;li&gt;Support&amp;nbsp;non-CLS Compliant&amp;nbsp;value types such as UInt64  &lt;li&gt;Better error messages when using generic delegate methods on generic types  &lt;li&gt;Generally faster  &lt;li&gt;Using Dynamic Proxy 2 - better performance, better code-base, full support for wierd generic scenarios.  &lt;li&gt;Text.* constraints can now be used to evaluate non strings as well, by calling the ToString() method. Useful for things such as the Criteria API in NHibernate. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href=&quot;http://www.ayende.com/projects/rhino-mocks/downloads.aspx&quot; target=&quot;_blank&quot;&gt;Download binaries and code&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/2017945555310208559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/2017945555310208559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/2017945555310208559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/2017945555310208559'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/03/rhino-mocks-30-is-available-for.html' title='Rhino Mocks 3.0 is available for download'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-5295773081044076511</id><published>2007-03-13T11:30:00.001-07:00</published><updated>2007-03-13T11:32:05.969-07:00</updated><title type='text'>S3 Change Explorer</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;  &lt;p&gt;&lt;img height=&quot;230&quot; src=&quot;http://www.solidcore.com/images/s3_change_explorer.jpg&quot; width=&quot;288&quot; align=&quot;right&quot;&gt;Solidcore &lt;a href=&quot;http://www.solidcore.com/learn/s3_change_explorer.html&quot; target=&quot;_blank&quot;&gt;S3 Change Explorer&lt;/a&gt; is a change tracking and data analytics tool for your desktop. It keeps track of all changes on your system, and provides detailed analysis of those changes, including who made them, when, and how.  &lt;p&gt;&amp;nbsp; &lt;p&gt;&amp;nbsp; &lt;p&gt;&amp;nbsp; &lt;p&gt;&amp;nbsp; &lt;p&gt;&amp;nbsp; &lt;p&gt;[Via &lt;a href=&quot;http://www.larkware.com/&quot; target=&quot;_blank&quot;&gt;Larkware News&lt;/a&gt;] </content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/5295773081044076511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/5295773081044076511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/5295773081044076511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/5295773081044076511'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/03/s3-change-explorer.html' title='S3 Change Explorer'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-6018172773522386090</id><published>2007-03-06T13:30:00.001-08:00</published><updated>2007-07-06T06:04:21.734-07:00</updated><title type='text'>A collection of Microsoft.NET class libraries that implement web content syndication specifications</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;Argotic is a collection of Microsoft.NET class libraries that implement common web content syndication specifications such as RSS 2.0 and ATOM 1.0. With the Argotic components, consuming syndication feeds or generating your own custom feeds has never been easier. Argotic has been designed to provide developers with a flexible provider model for storing and retrieving syndication feed information to and from the back-end database of their choice. Argotic also provides an extensible framework that allows developers to easily handle the large number of extensions in use by today&#39;s syndication specifications.  &lt;p&gt;&lt;strong&gt;Features Overview&lt;/strong&gt;  &lt;ul&gt; &lt;li&gt;Complete implementation of the &lt;a href=&quot;http://www.rssboard.org/rss-specification&quot; target=&quot;_blank&quot;&gt;RSS 2.0 specification&lt;/a&gt;.  &lt;li&gt;Complete implementation of the &lt;a href=&quot;http://www.atomenabled.org/developers/syndication/&quot; target=&quot;_blank&quot;&gt;ATOM 1.0 specification&lt;/a&gt;.  &lt;li&gt;Implements a provider model for storing/retrieving syndication information to your back-end database of choice.  &lt;li&gt;Provides an extensible framework for processing any syndication specification extension.  &lt;li&gt;Natively handles the RCF822 and W3C DateTime structures.  &lt;li&gt;Support for auto-discovery of syndication feeds for a given web site.  &lt;li&gt;Supports consumption of secure/authenticated syndication feeds.  &lt;li&gt;Implementations of the most common syndication specification extensions. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Download &lt;a href=&quot;http://www.codeplex.com/Argotic&quot; target=&quot;_blank&quot;&gt;Argotic&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/6018172773522386090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/6018172773522386090' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/6018172773522386090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/6018172773522386090'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/03/collection-of-microsoftnet-class.html' title='A collection of Microsoft.NET class libraries that implement web content syndication specifications'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-117062834763905207</id><published>2007-02-04T14:32:00.000-08:00</published><updated>2007-02-04T14:33:04.743-08:00</updated><title type='text'>Propertygrid: How to show only specific file extensions?</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Use Editor Attribute&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class=&quot;wlWriterSmartContent&quot; id=&quot;57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:7079a762-80a4-4855-8fe9-92318c2764e8&quot; contenteditable=&quot;false&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;&lt;pre style=&quot;background-color:White;&quot;&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style=&quot;color: #000000; &quot;&gt;[DisplayName(&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;Resume&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;)]&lt;br /&gt;[Description(&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;Resume File Name&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;)]&lt;br /&gt;[Editor(&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;typeof&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;(DocFileEditor), &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;typeof&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;(UITypeEditor))]&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; ResumeFile&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; _ResumeFile;&lt;br /&gt;    }&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&lt;br /&gt;    {&lt;br /&gt;        _ResumeFile &lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; value;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Override InitializeDialog method and provide Filter string that describes allowed file extensions&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class=&quot;wlWriterSmartContent&quot; id=&quot;57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:c43b53e2-f708-4515-95b9-b127ef85a0d8&quot; contenteditable=&quot;false&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;&lt;pre style=&quot;background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; System;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; System.Collections.Generic;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; System.Text;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; System.Windows.Forms;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; System.Windows.Forms.Design;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;namespace&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; WindowsApplication1&lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; DocFileEditor : FileNameEditor&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808080; &quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #808080; &quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808080; &quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;Initializes the open file dialog when it is created.&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808080; &quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #808080; &quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808080; &quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #808080; &quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #808080; &quot;&gt;&amp;lt;param name=&amp;quot;openFileDialog&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000; &quot;&gt;The &lt;/span&gt;&lt;span style=&quot;color: #808080; &quot;&gt;&amp;lt;see cref=&amp;quot;T:System.Windows.Forms.OpenFileDialog&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;see&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; to use to select a file name. &lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;param&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;override&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; InitializeDialog(OpenFileDialog openFileDialog)&lt;br /&gt;    {&lt;br /&gt;        openFileDialog.CheckFileExists &lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;;&lt;br /&gt;        openFileDialog.Filter &lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;Doc files (*.doc)|*.doc|All files (*.*)|*.*&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;;&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/117062834763905207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/117062834763905207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/117062834763905207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/117062834763905207'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/02/propertygrid-how-to-show-only-specific.html' title='Propertygrid: How to show only specific file extensions?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-116994373362503506</id><published>2007-01-27T16:22:00.000-08:00</published><updated>2007-01-28T13:45:35.056-08:00</updated><title type='text'>PropertyGrid: How to make specific property read only ?</title><content type='html'>&lt;p&gt;&lt;a href=&quot;http://devintelligence.com/blog-images/dotnetproject/PropertyGridHowtomakespecificpropertyrea_22A6/PropertyGridReadOnly2.png&quot; atomicselection=&quot;true&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;106&quot; src=&quot;http://devintelligence.com/blog-images/dotnetproject/PropertyGridHowtomakespecificpropertyrea_22A6/PropertyGridReadOnly_thumb.png&quot; width=&quot;317&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Use ReadOnly attribute or remove set accessor ... &lt;/p&gt; &lt;p&gt; &lt;div class=&quot;wlWriterSmartContent&quot; id=&quot;57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:a11f7083-7765-4b43-874a-10336925df23&quot; contenteditable=&quot;false&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;&lt;pre style=&quot;background-color:White;&quot;&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style=&quot;color: #000000; &quot;&gt;[ReadOnly(&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;)]&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; Age&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; _Age;&lt;br /&gt;    }&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&lt;br /&gt;    {&lt;br /&gt;        _Age &lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; value;&lt;br /&gt;    }&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://www.rsdn.ru/article/dotnet/PropertyGridFAQ.xml&quot; target=&quot;_blank&quot;&gt;source(russian)&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/116994373362503506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/116994373362503506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116994373362503506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116994373362503506'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/01/propertygrid-how-to-make-specific.html' title='PropertyGrid: How to make specific property read only ?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28314047.post-116994344347517361</id><published>2007-01-27T16:17:00.000-08:00</published><updated>2007-01-27T16:44:47.126-08:00</updated><title type='text'>PropertyGrid: How to group properties by category?</title><content type='html'>&lt;p&gt;&lt;a href=&quot;http://devintelligence.com/blog-images/dotnetproject/PropertyGridHowtogrouppropertiesbycatego_2115/PropertyGridCategory2.png&quot; atomicselection=&quot;true&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;143&quot; src=&quot;http://devintelligence.com/blog-images/dotnetproject/PropertyGridHowtogrouppropertiesbycatego_2115/PropertyGridCategory_thumb.png&quot; width=&quot;300&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Use Category attribute .Note that properties without the attribute will be shown uder category named &quot;Misc&quot;&lt;/p&gt; &lt;div class=&quot;wlWriterSmartContent&quot; id=&quot;57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:b155e661-9fa0-431e-8143-d9bba51c6cb1&quot; contenteditable=&quot;false&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;&lt;pre style=&quot;background-color:White;&quot;&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style=&quot;color: #000000; &quot;&gt;[DisplayName(&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;First Name&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;)]&lt;br /&gt;[Description(&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;First Name of the person&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;)]&lt;br /&gt;[Category(&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;Personality&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;)]&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; FirstName&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; _FirstName;&lt;br /&gt;    }&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&lt;br /&gt;    {&lt;br /&gt;        _FirstName &lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; value;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[Category(&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;Specific&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;)]&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; Color HairColor&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; _HairColor;&lt;br /&gt;    }&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; &quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;&lt;br /&gt;    {&lt;br /&gt;        _HairColor &lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000; &quot;&gt; value;&lt;br /&gt;    }&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://www.rsdn.ru/article/dotnet/PropertyGridFAQ.xml&quot; target=&quot;_blank&quot;&gt;source(russian)&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetproject.blogspot.com/feeds/116994344347517361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/28314047/116994344347517361' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116994344347517361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28314047/posts/default/116994344347517361'/><link rel='alternate' type='text/html' href='http://dotnetproject.blogspot.com/2007/01/propertygrid-how-to-group-properties.html' title='PropertyGrid: How to group properties by category?'/><author><name>Taras</name><uri>http://www.blogger.com/profile/08190352805764968698</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://devintelligence.com/blog-images/yoda_smoke.jpg'/></author><thr:total>2</thr:total></entry></feed>