Why do we use fields & properties instead of just a variable?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
What is the difference between a field and a property in C#?
Difference between Property and Field in C# .NET 3.5+
我已经看到,在C中,以下模式很常见:
1 2 3 4 5 6 7 8 9 10 11 12 13 | private string m_name = string.Empty; public string Name { get { return m_name; } set { m_name = value; } } |
当我们可以使用简单变量时,为什么要使用字段和属性来保存值?为什么要使用字段和属性而不是简单变量?
只是为了封装原理。对于Hinding Complementation Implementation,and more,you have an opportunity(in this case)to add additional code inside
如果你不需要添加代码,你就可以使用
1 | public string Name{get;set;} |
或使用文件,如你所愿。但使用性能是微软提供的一条指南。
所以基本上,跟随它。
性能提供了通过阅读和写入通过性能保护一类场地的机会。在其他语言中,这通常是通过程序实现的,特别是吸收和设置方法。这种类型的保护是可以实现的,同时也让你可以进入财产就像是一个场。
地面上的另一个好处是,你可以在一段时间内改变他们的内部执行。在一个公共领域中,数据的底层类型必须始终是相同的,因为呼叫代码取决于实地的情况。但是,如果有一个属性,你可以改变执行。
这有很多原因,但两个原因是:
首先,一项财产可以容易地连接到一个控制或其他基于控制的反射控制,该控制或控制是阅读所有性能(rather than fields)。
第二,可能有一些行动你想在接受者或设置者(例如,启动一个通知型的交换事件)中进行表演。