Formato TimeSpan a mm: ss para TimeSpans positivos y negativos

Estoy buscando una solución en .net 3.5 Escribí la siguiente solución de trabajo:

private string FormatTimeSpan(TimeSpan time)
{
    return String.Format("{0}{1:00}:{2:00}", time < TimeSpan.Zero ? "-" : "", Math.Abs(time.Minutes), Math.Abs(time.Seconds));
}

Pero mi pregunta es: ¿hay una mejor manera? Tal vez algo más corto donde no necesito una función auxiliar.

Respuestas a la pregunta(2)

Su respuesta a la pregunta