Есть ли какой-нибудь способ написать «сокращенный» код в стиле 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;
}
};