0

我使用了两种方法在 C#(和 VB.NET)中设置公共类

选项 1 - Setter 和 Getter

public class foo
{
  private string _bar;
  public string bar
  {
    get { return _bar; }
    set { _bar = value; }
  }
}

选项 2 - 简单的公共类

Public Class foo
    Public string bar = "";   
End Class

我已经完成了这两种方式,但使用选项 2 更简单,代码更少 - 而且我看不出在设置或获取类或性能值的其他编码方面的差异 - 两种方式都可以正常工作。

我的问题是“如果在 getter 或 setter 中没有发生其他一些‘特殊的事情’,你为什么要执行选项 1?如果是这样 - 这些原因可能是什么?

我想知道是否有一些“令人信服的论点”可以为此使用 setter 和 getter,如果有,那么“具体为什么?

干杯,查理兹

4

1 回答 1

3

对于您的具体情况,拥有一个公共变量会更快(所有 getter 和 setter 在编译时都变成函数)。

不像 Java,如果你有 getter/setter 函数,它们必须被称为函数。如果在某些时候您想将您的公共变量更改为 getter/setter,则代码库不必更改(但仍必须重新编译)这意味着如果您正在开发一个库,并且您想要热交换 DLL并且您将公共变量更改为 getter/setter 它将破坏目标程序。

于 2013-04-06T01:16:45.223 回答