public class foo
{
public object newObject
{
get
{
return new object();
}
}
}
根据MSDN:
属性是成员提供了一个灵活的机制来读,写 或计算私有字段的值。属性可以使用 就好像它们是公共数据成员一样,但它们实际上是特殊的 称为访问器的方法。这使得数据可以很容易地访问
和:
属性使类揭露获取和 设定值的公开方式,而隐藏实现或验证码。
获取属性访问器用于返回属性值,并使用 集访问器来分配新值。这些访问器可以有不同的访问级别。有关更多信息,请参阅访问者 辅助功能。
value关键字用于定义 集索引器分配的值。
不执行set方法的属性是只读的。同时仍然提供方法的安全性和灵活性。
这是否意味着在某个时间点newObject属性的值有一个对返回的新对象的引用?
编辑物业
EDIT2也只读去除想澄清一下,这不是一个属性的最佳利用,但其做了尝试,更有效地说明了这个问题。
'readonly'修饰符在属性声明中无效。 – Ani