我使用简单的值,但我从未使用过价值。(entityname)。所以我对它有困惑。我认为价值用于获取当前价值但我在这里不明白。
public Tax Tax
{
get
{
return _taxListing.Tax;
}
set
{
_taxListing.Tax = value;
RaisePropertyChanged("Tax");
Percent = value.Percent;
}
}
请解释一下。
答案 0 :(得分:3)
value
是setter中赋值的特殊名称。它的类型与所分配的属性的类型相同,在这种情况下它是Tax
。
无论您使用Tax
类型的任何其他变量执行什么操作,都可以使用value
。因此,如果Tax
有一个名为Percent
的属性,则可以value.Percent
访问该属性。
答案 1 :(得分:0)
value
包含已被调用的赋值的右侧。
例如:
myInstance.Tax = new Tax();
执行此操作时,value
块中的set
将等于实例化的new Tax()
。
因此,当您访问value.Percent
时,您正在访问已发送到设置范围的Percent
的{{1}}属性。如果第一行为new Tax()
,然后您执行this._tax = value;
而不是this._tax.Percent
,则情况完全相同。
如果我有这样的财产:
value.Percent
我做了:
public int Num
{
get { return this._num; }
set
{
this._num = value;
// other logic...
}
}
代码流如下:
执行右侧直到返回某个值:myInstance.Num = 41 + 1;
。
右侧结果(42 * )设置在左侧。在这种情况下,这是一个属性,hense step 3。
输入了41 + 1 = 42
属性的set
块,Num
将等于value
。
执行set-block内部逻辑,可能将值设置为某个私有成员等。
*生命,宇宙和万物的终极问题的答案。