这可能是一个微不足道的问题,但我对此非常困惑。我有一个有一些逻辑的财产。当我们调用“设置”属性时,“get”被调用
private SomeObject _someProperty;
public SomeObject SomeProperty
{
get
{
Some checking here,
return _someProperty;
}
set
{
_someProperty = value;
}
}
现在当我要分配一些东西给这个属性时会发生什么。
SomeProperty = new SomeClass();
我想这里得到的将是这里调用。它的话可以说就像get
SomeProperty和set
那个属性。但我所观察到的是get
未被调用。只有二传手被称为(纠正我,如果我在这里错了)。我想知道这里是不是叫get
是什么原因。
为什么要调用它? –
为什么让财产然后设置它!? – VahidNaderi
从语言设计的角度来看,这会非常愚蠢的,不是吗?请记住,属性是语法糖。你有两种方法; property_Get和property_Set。如果你明确地写了这两个方法,当你调用property_Set时,你不会期望调用property_Get(),对吗? –