Я обычно специальный класс для этого создавал. Но вообще помню у Фримена читал более красивый способ, не помню какую конструкцию он приводил правда. В главе про linq он это описывал.
Тьфу, не у Фриман, а у Троелсена. Хотя может и у Фримана тоже это описано, не добрался ещё.