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 问题。
我这里报错说程序无法退出死循环
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 问题。