我对 C# 中的访问器有点困惑。我假设可以为私人访问者做这样的事情:
private string m_name =
{
get { return m_name; } // Not sure if this is actually correct. Maybe use 'this'
set { m_name = value } // Not even sure if this is correct
}
我不确定上面的代码是否有效。我没有在 C# 中使用过访问器。
相反,文档说明要这样做:
class Employee
{
private string m_name;
public string Name
{
get { return m_name; }
protected set { m_name = value; }
}
}
为什么要这样做,因为从我的角度来看,用户仍然可以通过 Name 访问私有 m_name 属性。这不会破坏私有(甚至受保护)财产的意义吗?
在第一个示例中,编译器是否不应该知道它的私有并因此在幕后创建方法(正如我相信它在编译时所做的那样)?