在我看到的所有示例中,C#自动实现的属性都是公共的,即使在MSDN文档示例中也是如此。从C++背景出发,我一直被教导说,除非有充分理由,否则将成员数据设置为私有是一个好主意。
为什么从未使用以下代码(至少我从未见过):
我查看了MSDN文档并阅读了几篇介绍自动属性的教程,但没有任何关于它们的优缺点以及何时应该避免使用它们的建议。自动属性是否会影响程序安全性?是否有需要避免使用它们的情况?在哪些情况下它们是理想的选择?谢谢。
为什么从未使用以下代码(至少我从未见过):
private Name { get; set; }
我查看了MSDN文档并阅读了几篇介绍自动属性的教程,但没有任何关于它们的优缺点以及何时应该避免使用它们的建议。自动属性是否会影响程序安全性?是否有需要避免使用它们的情况?在哪些情况下它们是理想的选择?谢谢。
public int Foo { get; set }
,也就是说,为什么人们创建公共自动实现属性?虽然可以创建私有属性,但在我的经验中它们非常罕见。因此,我认为对这个问题打负分有点过分了:我认为OP有一个合理的问题。 - Daniel Pryden