【发布时间】:2017-09-08 10:19:28
【问题描述】:
一方面,我知道 Properties 的建议用法是有一个支持字段,如下例所示:
private int m_Capacity;
public int Capacity
{
get { return m_Capacity > 0 ? m_Capacity : -666; }
set { m_Capacity = value; }
}
另一方面,与丢弃字段并仅将属性用于所有目的相比,使用上述示例有什么好处,如下例所示:
public int Capacity
{
get { return Capacity > 0 ? Capacity : -666; }
set { Capacity = value; }
}
为常规(非自动实现)属性使用支持字段有什么好处?
【问题讨论】:
-
您没有发现您的第二个示例导致 StackOverflowExceptions 吗?你写对了吗?您当前是在属性本身内引用该属性。
-
你说得对。我没有想到这一点,也没有运行代码。
-
@Alex Humphrey: .. 从属性本身内在属性本身内在属性本身内..
标签: c#