Formata TimeSpan para mm: ss para TimeSpans positivos e negativos

Eu estou procurando uma solução no .net 3. 5 Eu escrevi a seguinte solução de trabalho:

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

Mas a minha pergunta é: existe uma maneira melhor? Talvez algo mais curto, onde eu não preciso de uma função auxiliar.

questionAnswers(2)

yourAnswerToTheQuestion