Получать все сообщения от InnerException (s)?

Есть ли какой-нибудь способ написать «сокращенный» код в стиле LINQ для перехода на все уровни InnerException, которые были выброшены для исключения? Я бы предпочел написать его вместо вызова функции расширения (как показано ниже) или наследованияException класс.

static class Extensions
{
    public static string GetaAllMessages(this Exception exp)
    {
        string message = string.Empty;
        Exception innerException = exp;

        do
        {
            message = message + (string.IsNullOrEmpty(innerException.Message) ? string.Empty : innerException.Message);
            innerException = innerException.InnerException;
        }
        while (innerException != null);

        return message;
    }
}; 

Ответы на вопрос(11)

Ваш ответ на вопрос