Gibt es eine Möglichkeit, einen "Short Hand" -Code im LINQ-Stil zu schreiben, um zu allen Ebenen der ausgelösten InnerException (s) der Ausnahme zu gelangen? Ich würde es vorziehen, es an Ort und Stelle zu schreiben, anstatt eine Erweiterungsfunktion (wie unten) aufzurufen oder die ExceptionKlasse zu erben .
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;
}
};
AggregateExceptionsich kaum anders verhalten. Sie müssen InnerExceptionsstattdessen durch das Grundstück gehen. Hier finden Sie eine praktische Erweiterungsmethode: stackoverflow.com/a/52042708/661933 , um beide Fälle abzudecken.