假设您有如下属性:
Person person1;
public Person Captin{
get{
return person1;
}
set{
person1 = value;
}
}
public void SomeFunction(){
Captin.name = "Hook"
}
在这种情况下,如果您在属性上设置名称,我们知道 Hook 的新名称将应用于 person1 的基础值。如果我们的实现有点不同怎么办?
public Person Captin{
get{
return ReadCaptinFromDisk();
}
set{
WriteCaptinToDisk(value);
}
}
public void SomeFunction(){
Captin.name = "Hook"
}
在这种情况下,为了正确设置基础值,我们需要调用 Captin 的设置代码作为对 Captin.name 的赋值的一部分。
我有兴趣知道参数集代码是否会调用属性引用上的字段分配或方法调用集。特别是对于需要将值传播到磁盘(等)的这种情况。