【发布时间】:2020-11-14 23:34:38
【问题描述】:
我遇到了这个错误
由于 *Exception 而终止进程。
错误来源来自这段代码
internal class Record
{
[Name("Name")]
public string Name { get; set; }
[Name("Principal")]
public int Principal { get { return Math.Abs(Principal); } set {; } }
}
我搜索了错误并指出错误是由于recursive 而发生的。我认为我的Principal 方法不是递归方法。
【问题讨论】:
-
它是递归的。当您尝试读取 Principal 属性时,您调用 get 访问器,get 访问器读取 Principal 属性,开始无限循环
-
顺便说一句,您的主要方法也不是方法;这些东西(带有get/set)被称为“属性”。在与另一个开发人员交谈时使用确切的术语总是有帮助的,因为有一天你可能有一个带有属性和方法的类,如果你在指的是属性时说“方法正在崩溃”,你会造成很多混乱
标签: c# recursion math stack-overflow getter