C# 递归错误 - 扩展方法

C# Recursion Error - Extension Methods

我这里报错说程序无法退出死循环

public static class Program 
{
    public static void Main(string[] args)
    {
        Object obj = new Object();
        Console.WriteLine(obj.GetClassName());
    }

    public static string GetClassName(this object value)
    {
        return value.GetClassName();
    }  
}

您需要将扩展​​方法更改为:

return obj.GetType().Name;

您的扩展方法正在调用自身,这导致了无限 loop/recursion 问题。