我在C#(和VB.NET)
中使用了两种方法来设置公共类public class foo
{
private string _bar;
public string bar
{
get { return _bar; }
set { _bar = value; }
}
}
Public Class foo
Public string bar = "";
End Class
我已经完成了两种方式,但它更简单,使用选项2的代码更少 - 而且我没有看到在设置或获取类或性能值的其他编码方面的差异 - 两种方式都可行细
我的问题是“如果getter或setter中没有其他'特殊事物'发生,你为什么要做选项1?如果是这样的话 - 这些理由可能是什么?
我想知道是否有一些'令人信服的论据',因此使用制定者和吸气剂,如果是这样'具体为什么?
干杯,查理兹
答案 0 :(得分:3)
对于您的具体情况,只需拥有一个公共变量就更快(所有getter和setter都在编译时转换为函数)。
与Java不同,如果你有getter / setter函数,它们必须作为函数调用。如果您想在某个时刻将公共变量更改为getter / setter,则代码库不必更改(但必须重新建立)这意味着如果您正在开发库,并且你想热插拔DLL并将公共变量更改为getter / setter,它将破坏目标程序。