Why is there a "this" in the parameter list of my external C# function?
<p>My code has the following in an Action Method:</p>

<pre><code>    catch (Exception e)
    {
        log(e);
        return Content(ExceptionExtensions.GetFormattedErrorMessage(e));
    }
</code></pre>

<p>The function called looks like this:</p>

<pre><code>public static class ExceptionExtensions
{
    public static string GetFormattedErrorMessage(this Exception e)

            if (e == null)
        {
            throw new ArgumentNullException("e");
        }
</code></pre>

<p>Can someone explain why there is a "this" at the start of the parameter list?</p>
