Fredrik Mörk has an interesting post on using extension methods to hide housekeeping code related to protecting access to a share resource using a ReaderWriterLockSlim. I recommend reading the article, but the short of it is that the standard try, lock, operate, finally, unlock