无法定义递归的扩展方法

本文关键字:扩展 方法 递归 定义 | 更新日期: 2023-09-27 18:17:09

我想定义一个扩展方法,递归到异常的嵌套结构中。这就是我想做的……

class Utils
{
    public static string TellMeEverything(this Exception ex)
    {
        return ex.InnerException?.TellMeEverything() + ex.Message + ex.StackTrace;
    }
}

但是这会产生一个编译错误'Exception' does not contain a definition for 'TellMeEverything' and no extension method 'TellMeEverything' accepting a first argument of type 'Exception' could be found (are you missing a using directive or an assembly reference?)

这可以被认为是一个编译器错误吗?

无法定义递归的扩展方法

您的class utils也应该是public static,以便可以发现它作为System.Exception的扩展