我注意到有些人声明一个私有变量,然后一个公共变量与get和set语句:正确的变量声明
private string myvariable = string.Empty;
public string MyVariable
{
get { return myvariable; }
set { myvariable = value ?? string.Empty; }
}
,然后有些人只是做到以下几点:
public string MyVariable
{
get { return value; }
set { MyVariable = value; }
}
作为一个小智慧的熊(是的,我有孩子......你为什么问?)我无法弄清楚为什么你会选择一个。使用公共变量是否有效,您可以使用变量的set方法设置任何时间?
任何人都可以为我阐述一些这方面的信息吗?
更新:我纠正了第二个例子后,几个人指出它不会编译。对不起,但问题仍然存在......
“是不是在使用公共变量时有效,您可以使用变量的get方法设置任何时间” - 您不能从getter中设置var,只能设置setter。 – 2009-01-09 06:16:09
呃,你是对的...错字。需要更多的睡眠或咖啡因... – Dscoduc 2009-01-09 07:07:40
第二个例子仍然不会编译 - 您没有“值”变量,并且setter仍然是递归的。第一个和第二个例子之间有什么不同? – 2009-01-09 07:27:33