我正在尝试使用以下getter和setter创建属性.我试过了:
int i {
get{
return i;
}
set {
if (value > 60) {
} else {
i = value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试这个时,我尝试运行代码时出现堆栈溢出错误.我的代码有什么问题吗?任何Assistane将不胜感激.
如果你的属性中有任何类型的逻辑,你需要一个支持字段(否则自动属性是要走的路) - 目前你正在分配给属性本身再次调用你的setter代码(同样对于getter) - 这会导致Stackoverflow异常.
例:
private int _i;
public int SomeProperty
{
get{ return _i;}
set
{
//your logic here
_i = value;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
813 次 |
| 最近记录: |