You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

赋值相同引用时Setter未执行,如何强制触发?

如何确保引用类型属性的Setter被执行?

我的Setter代码在此处未执行,推测是由于赋值的是同一个引用(设计如此)。请问是否有语法可确保Setter执行?

var settings = new Settings();

var a = settings.ReferenceVariable;

a.Value1++;

settings.ReferenceVariable = a; // Setter is not running here, so changes to 'a' are not persisted in database

// One workaround is to set to a different value, then set back to my value.  This isn't a good solution for me
settings.ReferenceVariable = null; // Setter does run
settings.ReferenceVaraible = a; // Setter does run

public class Settings
{
    public MyClass ReferenceVariable
    {
        get => GetSettingValueFromDatabase();
        set => SetSettingValueToDatabase(value);
    }
}

编辑补充:感谢各位的帮助,我已找到问题根源——我使用了Fody/PropertyChanged包,它会修改属性setter并检查变更,这些修改在调试时不可见,因此排查起来较为困难。

内容的提问来源于stack exchange,提问作者barrett777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 09:31:43