我对属性有基本的了解,但我认为它们没有真正的用途。它不只是返回一个方程的值吗?我的意思是,如果你只需要写下一个简单的方程,就没有必要使用一个属性。
例如:
int currentValue;
public int CurrentValue
{
get { return currentValue; }
set { currentValue = value; }
}和正义是一样的:
currentValue;另一个例子是:
int currentValue;
public int CurrentValue
{
get { return currentValue * 5; }
set { currentValue = value; }
}是同一件事:
currentValue = currentValue * 5;发布于 2014-02-20 18:36:30
如果您想在代码中添加一些额外的功能,集中您的函数以便只在一个地方更改它,那么Getters和setters属性是很方便的。你几乎永远不知道什么时候你必须改变一些东西,但你可以做好准备。
这与封装和信息隐藏的概念一起,是OOP的基本概念,但是非常重要.
V E R Y I M P O R T A N T
不要低估这个巨大的力量D:
太..。强大的..。
发布于 2014-02-20 18:48:43
属性也在许多其他.NET技术中使用,WPF没有它们就无法工作(在setter中有一个PropertyChanged事件调用),并且WCF在数据契约中广泛使用它们。
特别是对于WPF,属性的强大之处在于"get“和"set”字段都是函数,因此除了返回或设置支持私有成员之外,还可以做很多事情。这比你想的要方便得多。
示例属性(用于WPF)
public String UIDisplayedString
{
get { return _member; }
set
{
_member = value;
PropertyChanged(new PropertyChangedEventArgs("UIDisplayedString"));
}https://stackoverflow.com/questions/21916397
复制相似问题