在C#中使用访问器的优缺点是什么?

时间:2011-03-23 16:38:39

标签: c# .net xml windows accessor

  

可能重复:
  public variables vs private variables with accessors

我目前正在构建一个小型应用程序来管理XML文件。每个条目在代码中由自定义类的实例表示。现在要设置和获取属性,我可以允许直接访问它们,或使用访问器。哪一个更好,为什么?

4 个答案:

答案 0 :(得分:2)

使用访问器没有任何优点和缺点:您必须使用它们。

这只是一个OOP原则:封装对类字段或计算值的访问,这样他们的消费者就不会关心如何检索或分配某些值。

为什么呢?因为封装。这是OOP最重要的原则之一,因为这可以确保在一个点上检索和分配值的方式。

答案 1 :(得分:1)

优点:

  1. 封装 - 可以在以后更改实现,而无需重新编译使用DLL的所有内容
  2. 可以放入接口(不能有字段)
  3. 可以覆盖(虚拟)
  4. 许多序列化程序只会序列化属性,而不是字段
  5. WPF绑定仅适用于属性
  6. 缺点:

    1. 需要输入更多代码(但实际上没有更多自动实现的属性)
    2. 一般来说,我总是在任何重要的课堂上使用它们。至少我会使用自动属性。

答案 2 :(得分:0)

在这个特定的场景中,访问器的明显优势是你可以限制只访问那些对你的XML模式有效的属性和子代(假设存在一个模式,这应该是因为你控制了XML)。这将由setter实现,但getter也可以帮助你减少输入。

答案 3 :(得分:0)

访问器让你在未来改变工作的方式...也许你改变XML模式或完全抛弃XML ...你可以修改访问器实现,这样任何调用你的类的代码都可以保持原样

使用访问器的唯一好处是,您可以使用少量代码来维护。

绝对使用访问器在类之间共享东西。