如果我有一个简单的类设置,例如:

class MyClass
{
    private string _myName = string.Empty;

    public string MyName
    {
        get
        {
            return _myName;
        }
    }

    public void DoSomething()
    {
        // Get the name...
        string name = string.Empty;

        name = _myName;

        // OR

        name = MyName;

        // ...and do something with it...
    }
}


我应该使用哪个公共属性或数据成员?

显然,在此示例中,这没有什么区别,因为它们都只是引用相同的变量。但是,现实世界中对公共财产的使用又如何呢?

通常,公共财产执行得很少,在这种情况下可以调用它们吗?还是人们在其公共属性中添加了很多不应由内部类引用调用的功能?

我在另一篇文章中看到了有关不在属性中添加大量功能的信息,因为在调试器中检查它们可能会执行意外的结果。真的吗?

最佳答案

使用属性-应该封装在setter和getter中的任何逻辑,即使在类本身中也应适用。如果在getter和setter中没有逻辑,那么使用这些字段本身仍然不安全,因为如果您希望在任何时候在对这些字段的访问周围添加逻辑,则您将需要进行更多的重构。

10-04 22:05
查看更多