The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 4,173 other subscribers

Archive for January 30th, 2014

Sanibel Island Bike Trail Sections

Posted by jpluimers on 2014/01/30

The bike paths on Sanibel are very well suited for running. Sanibel Island Bike Trail Sections.

–jeroen

Posted in LifeHacker, Power User | Leave a Comment »

.NET/C#: refactoring some C# 1 code that uses HashTables as a poor mans property bag (via:Stack Overflow)

Posted by jpluimers on 2014/01/30

A while ago, I was refactoring some C# 1 code that uses HashTables as a poor mans property bag.

The problem was that I felt my code was convoluted, and should be denser, especially avoiding Convert.ChangeType. My code was already much simpler than casting tuples to a superclass.

So I asked this question on StackOverflow: c# – Is there a solution that feels less clumsy than Convert.ChangeType to get the value from a HashTable – Stack Overflow.

User dasblinkenlight showed it could be shortened and explained why (hyperlinks are mine):

Since System.String is sealed, the expression

genericType.IsSubclassOf(stringType)

is the same as

genericType == stringType

Therefore you do not need a call of Convert.ChangeType: you can cast to T by casting to object, like this:

object stringResult; // Note the change of type to "object"
if (haveValue)
    stringResult = ((string)properties[propertyName]).Trim();
else
    stringResult = string.Empty;
result = (T)stringResult; // It is allowed to cast object to generic T

The original .NET 1.1 code had loads of null checks wrapped if/then/else statements to assign default values for null values.
I wanted to get rid of that, and get code like this: Read the rest of this entry »

Posted in .NET, .NET 1.x, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Development, Software Development | Leave a Comment »

Amazon Glacier off-site backup Pricing

Posted by jpluimers on 2014/01/30

Wow, I didn’t expect these prices to be so low: Pricing.

I wonder what other providers there are.

–jeroen

Posted in Backup, Power User | Leave a Comment »

1/9998 = 0.0001 0002 0004 0008 0016 0032 0064 0128 0256.. | Hacker News

Posted by jpluimers on 2014/01/30

1/9998 = 0.0001 0002 0004 0008 0016 0032 0064 0128 0256.. | Hacker News.

Posted in Power User | Leave a Comment »

 
%d bloggers like this: