An extension method, just because I can.

Going to the dentist is an awkward experience. You know you have to use their service or your teeth will rot, but the experience is just not enjoyable.

That's how I feel about string.Format. I use it all over the place, but find it incredibly out of place. Thanks to extension methods though, I can propose a nicer syntax. Here's a snippet from a site I'm building for one of my clients, using my rasta REST framework and linq2sql.

[HttpOperation(HttpMethod.GET, ContentType=new HttpContentType("image/*"))]

public ResourceOperationResult GetMovie(string filmName)


    var movie = _movies.FindOne(movie => movie.UrlTitle == filmName);


    if (movie == null)

        throw new ResourceNotFoundException


            Message = "The movie {0} wasn't found in the database.".With(filmName)



    return new ResourceMovedTemporarilyResult { NewResourceUrl="/library/tempfilm.jpg" };


Notice the extension method there? I just find it sweet. Here's the very simple extension method.

public static string With(this string text, params object[] values)


    return string.Format(text, values);


There you are, a shamefully simple extension method, just because I can!