以下代码生成StackOverFlowException.问题是为什么?它看起来合法......
using System;
namespace learning
{
public class TestClass
{
private String name;
public String Name
{
get => Name;
set => name = value;
}
}
class Program
{
static void Main(string[] args)
{
TestClass e = new TestClass();
Console.WriteLine(e.Name);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试删除名称空间学习{...},但它没有改变任何东西.
您的物业正在返回:
public String Name
{
get => Name;
set => name = value;
}
Run Code Online (Sandbox Code Playgroud)
相反,它应该返回字段name(区分大小写):
public String Name
{
get => name;
set => name = value;
}
Run Code Online (Sandbox Code Playgroud)