<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>.NET Extension Library</title><link>http://www.codeplex.com/nxl/Project/ProjectRss.aspx</link><description>The .NET Extension Library adds common functionality to .NET&amp;#39;s system libraries. Most new features are added to existing types via extension methods. The rest of the features are either new classes...</description><item><title>Source code checked in, #29431</title><link>http://www.codeplex.com/nxl/SourceControl/ListDownloadableCommits.aspx</link><description>Added Date extensions to support Epoch-times and IList.Map</description><author>KarlSeg</author><pubDate>Mon, 29 Dec 2008 19:57:58 GMT</pubDate><guid isPermaLink="false">Source code checked in, #29431 20081229075758P</guid></item><item><title>Source code checked in, #23601</title><link>http://www.codeplex.com/nxl/SourceControl/ListDownloadableCommits.aspx</link><description>string.ToEnum&amp;#40;defaultEnumValue&amp;#41; will now work as expected when passing in an unknown enum value</description><author>KarlSeg</author><pubDate>Wed, 15 Oct 2008 17:36:28 GMT</pubDate><guid isPermaLink="false">Source code checked in, #23601 20081015053628P</guid></item><item><title>Source code checked in, #23451</title><link>http://www.codeplex.com/nxl/SourceControl/ListDownloadableCommits.aspx</link><description>Added string.ToEnum&amp;#40;&amp;#41;  and string.ToEnum&amp;#40;defaultValue&amp;#41;  &amp;#13;&amp;#10;&amp;#13;&amp;#10;string can either be the enum string representation, or it&amp;#39;s numeric value.</description><author>karlseg</author><pubDate>Fri, 10 Oct 2008 20:17:20 GMT</pubDate><guid isPermaLink="false">Source code checked in, #23451 20081010081720P</guid></item><item><title>Source code checked in, #23449</title><link>http://www.codeplex.com/nxl/SourceControl/ListDownloadableCommits.aspx</link><description>Added overloads to string.ToInt, string.ToBoolean, string.ToDouble and string.ToFloat which&amp;#39;ll return a specified default value in the case where the string cannot be parsed into the requested type&amp;#58;&amp;#13;&amp;#10;&amp;#13;&amp;#10;Assert.AreEqual&amp;#40;54, &amp;#34;abc123&amp;#34;.ToInt&amp;#40;54&amp;#41;&amp;#41;&amp;#59; &amp;#47;&amp;#47;this will be true&amp;#33;</description><author>KarlSeg</author><pubDate>Fri, 10 Oct 2008 19:45:56 GMT</pubDate><guid isPermaLink="false">Source code checked in, #23449 20081010074556P</guid></item><item><title>Source code checked in, #22998</title><link>http://www.codeplex.com/nxl/SourceControl/ListDownloadableCommits.aspx</link><description>Added IDictionaryExtensions with TryGetKey and TryGetKeys</description><author>KarlSeg</author><pubDate>Sun, 21 Sep 2008 16:48:11 GMT</pubDate><guid isPermaLink="false">Source code checked in, #22998 20080921044811P</guid></item><item><title>Source code checked in, #22997</title><link>http://www.codeplex.com/nxl/SourceControl/ListDownloadableCommits.aspx</link><description></description><author>KarlSeg</author><pubDate>Sun, 21 Sep 2008 16:44:50 GMT</pubDate><guid isPermaLink="false">Source code checked in, #22997 20080921044450P</guid></item><item><title>Source code checked in, #22921</title><link>http://www.codeplex.com/nxl/SourceControl/ListDownloadableCommits.aspx</link><description>Added ThreadSafeStorage.cs which can be used to store items in a thread. It&amp;#39;ll use HttpContext when available, else it&amp;#39;ll use CallContext</description><author>KarlSeg</author><pubDate>Thu, 18 Sep 2008 19:42:02 GMT</pubDate><guid isPermaLink="false">Source code checked in, #22921 20080918074202P</guid></item><item><title>Source code checked in, #22911</title><link>http://www.codeplex.com/nxl/SourceControl/ListDownloadableCommits.aspx</link><description>-Added ICache.Count&amp;#13;&amp;#10;-Changed path to key file</description><author>KarlSeg</author><pubDate>Thu, 18 Sep 2008 13:18:06 GMT</pubDate><guid isPermaLink="false">Source code checked in, #22911 20080918011806P</guid></item><item><title>Closed Issue: sign the code</title><link>http://www.codeplex.com/nxl/WorkItem/View.aspx?WorkItemId=10821</link><description>to use lib in larger projects the code usually needs to be signed. it&amp;#39;s not in the source control.&lt;br /&gt;Comments: Done in 0.4</description><author>KarlSeg</author><pubDate>Fri, 29 Aug 2008 01:03:26 GMT</pubDate><guid isPermaLink="false">Closed Issue: sign the code 20080829010326A</guid></item><item><title>Released: 0.4 Binaries (Aug 28, 2008)</title><link>http://www.codeplex.com/nxl/Release/ProjectReleases.aspx?ReleaseId=16773</link><description>&lt;div&gt;
*Renamed many string function (as suggested by mstrobel)&lt;br&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;UrlEncode/UrlDecode -&amp;gt; EncodeUrl/DecodeUrl&lt;/li&gt;&lt;li&gt;HtmlEncode/HtmlDecode -&amp;gt; EncodeHtml/DecodeHtml&lt;/li&gt;&lt;li&gt;ToBase64/FromBase64 -&amp;gt; EncodeBase64/DecodeBase64&lt;/li&gt;&lt;li&gt;Md5 -&amp;gt; EncodeMd5&lt;/li&gt;&lt;li&gt;Sha1 -&amp;gt; EncodeSha1&lt;/li&gt;&lt;li&gt;Rerverse -&amp;gt; Reverse&lt;/li&gt;&lt;li&gt;Sub -&amp;gt; FormatWith&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;object.ToHash renamed to object.ToDictionary&lt;/li&gt;&lt;li&gt;Fixed stackoverflow in cache extensions&lt;/li&gt;&lt;li&gt;Added IEnumerable&amp;lt;T&amp;gt;.EachIndex&lt;/li&gt;&lt;li&gt;Added string.EncodeJavascript with escapes single quotes ('), for use in a javascript string&lt;/li&gt;&lt;li&gt;Added object.DefinesAttribute which returns true if the attribute is defined on the object&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author></author><pubDate>Fri, 29 Aug 2008 01:02:56 GMT</pubDate><guid isPermaLink="false">Released: 0.4 Binaries (Aug 28, 2008) 20080829010256A</guid></item><item><title>Updated Release: 0.4 Binaries (Aug 28, 2008)</title><link>http://www.codeplex.com/nxl/Release/ProjectReleases.aspx?ReleaseId=16773</link><description>&lt;div&gt;
*Renamed many string function (as suggested by mstrobel)&lt;br&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;UrlEncode/UrlDecode -&amp;gt; EncodeUrl/DecodeUrl&lt;/li&gt;&lt;li&gt;HtmlEncode/HtmlDecode -&amp;gt; EncodeHtml/DecodeHtml&lt;/li&gt;&lt;li&gt;ToBase64/FromBase64 -&amp;gt; EncodeBase64/DecodeBase64&lt;/li&gt;&lt;li&gt;Md5 -&amp;gt; EncodeMd5&lt;/li&gt;&lt;li&gt;Sha1 -&amp;gt; EncodeSha1&lt;/li&gt;&lt;li&gt;Rerverse -&amp;gt; Reverse&lt;/li&gt;&lt;li&gt;Sub -&amp;gt; FormatWith&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;object.ToHash renamed to object.ToDictionary&lt;/li&gt;&lt;li&gt;Fixed stackoverflow in cache extensions&lt;/li&gt;&lt;li&gt;Added IEnumerable&amp;lt;T&amp;gt;.EachIndex&lt;/li&gt;&lt;li&gt;Added string.EncodeJavascript with escapes single quotes ('), for use in a javascript string&lt;/li&gt;&lt;li&gt;Added object.DefinesAttribute which returns true if the attribute is defined on the object&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author></author><pubDate>Fri, 29 Aug 2008 01:02:56 GMT</pubDate><guid isPermaLink="false">Updated Release: 0.4 Binaries (Aug 28, 2008) 20080829010256A</guid></item><item><title>Updated Release: 0.4 Binaries (Aug 28, 2008)</title><link>http://www.codeplex.com/nxl/Release/ProjectReleases.aspx?ReleaseId=16773</link><description>&lt;div&gt;
*Renamed many string function (as suggested by mstrobel)&lt;br&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;UrlEncode/UrlDecode -&amp;gt; EncodeUrl/DecodeUrl&lt;/li&gt;&lt;li&gt;HtmlEncode/HtmlDecode -&amp;gt; EncodeHtml/DecodeHtml&lt;/li&gt;&lt;li&gt;ToBase64/FromBase64 -&amp;gt; EncodeBase64/DecodeBase64&lt;/li&gt;&lt;li&gt;Md5 -&amp;gt; EncodeMd5&lt;/li&gt;&lt;li&gt;Sha1 -&amp;gt; EncodeSha1&lt;/li&gt;&lt;li&gt;Rerverse -&amp;gt; Reverse&lt;/li&gt;&lt;li&gt;Sub -&amp;gt; FormatWith&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;object.ToHash renamed to object.ToDictionary&lt;/li&gt;&lt;li&gt;Fixed stackoverflow in cache extensions&lt;/li&gt;&lt;li&gt;Added IEnumerable&amp;lt;T&amp;gt;.EachIndex&lt;/li&gt;&lt;li&gt;Added string.EncodeJavascript with escapes single quotes ('), for use in a javascript string&lt;/li&gt;&lt;li&gt;Added object.DefinesAttribute which returns true if the attribute is defined on the object&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author></author><pubDate>Fri, 29 Aug 2008 00:59:51 GMT</pubDate><guid isPermaLink="false">Updated Release: 0.4 Binaries (Aug 28, 2008) 20080829125951A</guid></item><item><title>Created Release: 0.4 Binaries (Aug 28, 2008)</title><link>http://www.codeplex.com/nxl/Release/ProjectReleases.aspx?ReleaseId=16773</link><description>&lt;div&gt;
*Renamed many string function (as suggested by mstrobel)&lt;br&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;UrlEncode/UrlDecode -&amp;gt; EncodeUrl/DecodeUrl&lt;/li&gt;&lt;li&gt;HtmlEncode/HtmlDecode -&amp;gt; EncodeHtml/DecodeHtml&lt;/li&gt;&lt;li&gt;ToBase64/FromBase64 -&amp;gt; EncodeBase64/DecodeBase64&lt;/li&gt;&lt;li&gt;Md5 -&amp;gt; EncodeMd5&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Sha1 -&amp;gt; EncodeSha1&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Rerverse -&amp;gt; Reverse&lt;/li&gt;&lt;li&gt;Sub -&amp;gt; FormatWith&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;object.ToHash renamed to object.ToDictionary&lt;/li&gt;&lt;li&gt;Fixed stackoverflow in cache extensions&lt;/li&gt;&lt;li&gt;Added IEnumerable&amp;lt;T&amp;gt;.EachIndex&lt;/li&gt;&lt;li&gt;Added string.EncodeJavascript with escapes single quotes ('), for use in a javascript string&lt;/li&gt;&lt;li&gt;Added object.DefinesAttribute which returns true if the attribute is defined on the object&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author></author><pubDate>Fri, 29 Aug 2008 00:58:56 GMT</pubDate><guid isPermaLink="false">Created Release: 0.4 Binaries (Aug 28, 2008) 20080829125856A</guid></item><item><title>Source code checked in, #22410</title><link>http://www.codeplex.com/nxl/SourceControl/ListDownloadableCommits.aspx</link><description>signed</description><author>KarlSeg</author><pubDate>Fri, 29 Aug 2008 00:52:55 GMT</pubDate><guid isPermaLink="false">Source code checked in, #22410 20080829125255A</guid></item><item><title>Source code checked in, #22409</title><link>http://www.codeplex.com/nxl/SourceControl/ListDownloadableCommits.aspx</link><description></description><author>KarlSeg</author><pubDate>Fri, 29 Aug 2008 00:45:34 GMT</pubDate><guid isPermaLink="false">Source code checked in, #22409 20080829124534A</guid></item><item><title>Created Issue: sign the code</title><link>http://www.codeplex.com/nxl/WorkItem/View.aspx?WorkItemId=10821</link><description>to use lib in larger projects the code usually needs to be signed. it&amp;#39;s not in the source control.&lt;br /&gt;</description><author>Ornus</author><pubDate>Wed, 30 Jul 2008 01:36:07 GMT</pubDate><guid isPermaLink="false">Created Issue: sign the code 20080730013607A</guid></item><item><title>New Post: Naming Conventions</title><link>http://www.codeplex.com/nxl/Thread/View.aspx?ThreadId=31542</link><description>&lt;div style="line-height: normal;"&gt;&lt;pre&gt;T Enumerable.First&amp;lt;T&amp;gt;(&lt;span style="color:rgb(0, 0, 255)"&gt;this&lt;/span&gt; IEnumerable&amp;lt;T&amp;gt;, Func&amp;lt;T,&lt;span style="color:rgb(0, 0, 255)"&gt;bool&lt;/span&gt;&amp;gt;) -&amp;gt; sucks big time because it throws an exception if the element is not found. Not sure about &lt;span style="color:rgb(0, 0, 255)"&gt;bool&lt;/span&gt; Enumerable.All&amp;lt;T&amp;gt;(&lt;span style="color:rgb(0, 0, 255)"&gt;this&lt;/span&gt; IEnumerable&amp;lt;T&amp;gt;, Func&amp;lt;T,&lt;span style="color:rgb(0, 0, 255)"&gt;bool&lt;/span&gt;&amp;gt;). or Any.&lt;/pre&gt;
&lt;/div&gt;</description><author>sirrocco_</author><pubDate>Sun, 20 Jul 2008 09:55:41 GMT</pubDate><guid isPermaLink="false">New Post: Naming Conventions 20080720095541A</guid></item><item><title>Created Issue: IDictionaryExtensions: TryGetKey, ContainsValue, RemoveAll</title><link>http://www.codeplex.com/nxl/WorkItem/View.aspx?WorkItemId=10603</link><description>This is a feature request for new extension methods for IDictionary, as documented here&amp;#58; http&amp;#58;&amp;#47;&amp;#47;www.dimebrain.com&amp;#47;2008&amp;#47;07&amp;#47;idictionarys-mi.html&lt;br /&gt;</description><author>Crenna</author><pubDate>Wed, 16 Jul 2008 20:32:48 GMT</pubDate><guid isPermaLink="false">Created Issue: IDictionaryExtensions: TryGetKey, ContainsValue, RemoveAll 20080716083248P</guid></item><item><title>New Post: Naming Conventions</title><link>http://www.codeplex.com/nxl/Thread/View.aspx?ThreadId=31542</link><description>&lt;div style="line-height: normal;"&gt;Hi Karl,&lt;br&gt;
&lt;br&gt;
Glad you liked my suggestions :).&amp;nbsp; I still think &amp;quot;ToDictionary&amp;quot; is a bit odd.&amp;nbsp; The name doesn't shed a whole lot of light on what the method actually does.&amp;nbsp; If I have a Customer object, what would I expect a ToDictionary method to do?&amp;nbsp; What if the object is a collection type?&amp;nbsp; It becomes a bit more confusing then.&amp;nbsp; Lastly, there exist Enumerable.ToDictionary(...) methods that will also show up on IEnumerable obects, which further adds to the confusion.&lt;br&gt;
&lt;br&gt;
Thinking about it further, I'm not sure &amp;quot;To&amp;quot; is an appropriate prefix here either.&amp;nbsp; Perhaps &amp;quot;GetPropertyValues&amp;quot; or &amp;quot;GetPropertyValueDictionary&amp;quot; would be a better and more accurate name?&amp;nbsp; If you're concerned about brevity, perhaps &amp;quot;GetProperties&amp;quot; or &amp;quot;GetPropertyLookup&amp;quot;?&lt;br&gt;
&lt;br&gt;
Aside from the name, I had another thought about this method.&amp;nbsp; Perhaps, instead of returning a Dictionary&amp;lt;K,V&amp;gt;, you could return a custom IDictionary&amp;lt;K,V&amp;gt; implementation that gets/sets (or only gets) the property values on demand, rather than copying all the values into a dictionary when the method is called.&amp;nbsp; That way the lookups against the dictionary would reflect the current property values rather than a snapshot.&lt;br&gt;
&lt;br&gt;
Cheers,&lt;br&gt;
Mike
&lt;/div&gt;</description><author>mstrobel</author><pubDate>Wed, 16 Jul 2008 15:58:46 GMT</pubDate><guid isPermaLink="false">New Post: Naming Conventions 20080716035846P</guid></item><item><title>Source code checked in, #19944</title><link>http://www.codeplex.com/nxl/SourceControl/ListDownloadableCommits.aspx</link><description> - Renamed many string function &amp;#40;as suggested by mstrobel&amp;#41;&amp;#13;&amp;#10;     &amp;#42; UrlEncode&amp;#47;UrlDecode -&amp;#62; EncodeUrl&amp;#47;DecodeUrl&amp;#13;&amp;#10;     &amp;#42; HtmlEncode&amp;#47;HtmlDecode -&amp;#62; EncodeHtml&amp;#47;DecodeHtml&amp;#13;&amp;#10;     &amp;#42; ToBase64&amp;#47;FromBase64 -&amp;#62; EncodeBase64&amp;#47;DecodeBase64&amp;#13;&amp;#10;     &amp;#42; Md5 -&amp;#62; EncodeMd5&amp;#13;&amp;#10;     &amp;#42; Sha1 -&amp;#62; EncodeSha1&amp;#13;&amp;#10;     &amp;#42; Rerverse -&amp;#62; Reverse&amp;#13;&amp;#10;     &amp;#42; Sub -&amp;#62; FormatWith&amp;#13;&amp;#10; - object.ToHash renamed to object.ToDictionary</description><author>KarlSeg</author><pubDate>Tue, 15 Jul 2008 23:58:40 GMT</pubDate><guid isPermaLink="false">Source code checked in, #19944 20080715115840P</guid></item></channel></rss>