我遇到了一个非常有趣的运行时错误,它会产生一个堆栈溢出。
我定义了一个结构如下:
public enum EnumDataType { Raspberry, Orange, Pear, Apple };
public class DataRequest
{
public long DataSize
{
get { return 0; }
set { DataSize = value; }
}
public EnumDataType DataType
{
get { return EnumDataType.Apple; }
set { DataType = value; }
}
}
以下代码行完美运行:
```html
以下代码行完美运行:
```DataRequest request = new DataRequest();
request.DataSize = 60;
然而,当我跨越以下代码行时,它会生成堆栈溢出:
request.DataType = EnumDataType.Raspberry;
当然,我可以通过删除默认值或使用自动获取/设置来解决问题,但我需要它既可读又可写,并返回一个默认值 - 有什么想法吗?