Есть ли способ написать «сокращенный» код в стиле LINQ для перехода ко всем уровням создаваемых InnerException (ов) Exception? Я бы предпочел написать его на месте вместо вызова функции расширения (как показано ниже) или наследования 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;
}
};